Документ gcc
C11 указывает, что он не поддерживает потоки, он говорит:
Threading [Необязательно] | Проблема с библиотекой (не реализована)
blockquote>Как указывает документ, это не проблема
gcc
илиclang
, а проблемаglibc
. Как заметил Зак, это выглядит как , возможно, скоро будет работать , чтобы получить поддержку этого вglibc
, но это не поможет вам сейчас. Вы можете использовать этот тем временем.Исправлено для glibc 2.28
Согласно Ошибка 14092 - Поддержка потоков C11 , это будет фиксируется в glibc 2.8:
Реализовано вверх по потоку:
9d0a979 Добавить ручную документацию для threads.h 0a07288 nptl: Добавить тестовые примеры для потоков ISO C11 c6dd669 nptl: Добавить абилик символы для потоков C11 78d4013 nptl: Добавить потоки C11 tss_ * функции 918311a nptl: Добавить потоки C11 cnd_ * функции 3c20a67 nptl: Добавить C11 threads функции call_once 18d59c1 nptl: Добавить потоки C11 mtx_ * функции ce7528f nptl: Добавить потоки C11 thrd_ * функции
Он будет включен в 2.28.
blockquote>
Используйте ПРЕДСТАВЛЕНИЕ. Те же классы могут быть отображены на различных таблицах/представлениях с помощью имени объекта, таким образом, у Вас даже не будет большой части дублирования. Быть там, сделанный это, работает хорошо.
Простой JDBC имеет другую скрытую проблему: это не знает, в спящем режиме кэш сессии, поэтому если что-то кэшировалось до конца транзакции и не сбросило от, в спящем режиме сессия, запрос JDBC не найдет его. Могло иногда быть очень озадачивающим.
Возможно, у меня был более простая проблема для решения. Мой «например» был в JPA с Hibernate в качестве провайдера JPA.
Я разделил три выбора (два во втором случае) на множественный выбор и объединил возвращенные коллекции, фактически заменив «объединение всех».
Я должен согласиться с Vladimir. Я также изучил использование ОБЪЕДИНЕНИЯ в HQL и не мог найти путь вокруг этого. Нечетная вещь состояла в том, что я мог найти (в Быть в спящем режиме FAQ), что ОБЪЕДИНЕНИЕ не поддерживается, отчеты об ошибках, имеющие отношение к ОБЪЕДИНЕНИЮ, отмеченному 'зафиксированный', группы новостей людей, говорящих, что операторы были бы усеченными в ОБЪЕДИНЕНИИ, и другие группы новостей людей, сообщающих о нем, хорошо работают... После дня унавоживания с ним я закончил тем, что портировал свой HQL назад на простой SQL, но сделать это в Представлении в базе данных будет хороший вариант. В моем случае были динамично сгенерированы части запроса, таким образом, я должен был создать SQL в коде вместо этого.
Я также был через эту боль - если запрос динамично сгенерирован (например, Будьте в спящем режиме Критерии), тогда я не мог бы найти практический способ сделать это.
хорошие новости для меня были то, что я только исследовал объединение для решения проблемы производительности при использовании 'или' в базе данных Oracle.
решение Patrick отправил (объединение результатов программно с помощью набора), в то время как ужасный (тем более, что я хотел сделать подкачку страниц результатов также) был достаточен для меня.
Представление является лучшим подходом, но так как hql обычно возвращает Список или Набор..., можно сделать list_1.addAll (list_2). Полностью сосет по сравнению с объединением, но должен работать.