Поля JPA Multiple Embedded

Запрос A совпадает с:

select 'true' where 3 = 1 or 3 = 2 or 3 = 3 or 3 = null

Так как 3 = 3 истинно, вы получаете результат.

Запрос B такой же, как:

select 'true' where 3 <> 1 and 3 <> 2 and 3 <> null

Когда ansi_nulls включен, 3 <> null НЕИЗВЕСТНО, поэтому предикат оценивает UNKNOWN, и вы не получите никаких строк.

Когда ansi_nulls выключен, 3 <> null истинно, поэтому предикат оценивает значение true, и вы получаете строку.

73
задан sblundy 1 December 2008 в 18:38
поделиться

1 ответ

Если Вы захотите иметь тот же встраиваемый тип объекта дважды в том же объекте, установка по умолчанию имени столбца не будет работать: по крайней мере один из столбцов должен будет быть явным. Будьте в спящем режиме идет вне спецификации EJB3 и позволяет Вам улучшать принимающий значение по умолчанию механизм через NamingStrategy. DefaultComponentSafeNamingStrategy является маленьким улучшением по сравнению с EJB3NamingStrategy по умолчанию, который позволяет внедренным объектам быть принятыми значение по умолчанию даже если используемый дважды в том же объекте.

От В спящем режиме Документ Аннотаций: http://docs.jboss.org/hibernate/stable/annotations/reference/en/html_single/#d0e714

26
ответ дан Arjan 7 November 2019 в 08:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: