Встраиваемые компоненты (или составные элементы, как бы вы их ни называли) обычно содержат более одного свойства и, следовательно, отображаются в несколько столбцов. Поэтому весь компонент, являющийся нулевым, может обрабатываться по-разному; Спецификация J2EE не так или иначе диктует.
Hibernate считает компонент NULL, если все его свойства NULL (и наоборот). Поэтому вы можете объявить одно (любое) из свойств не равным нулю (либо в пределах @Embeddable
, либо как часть @AttributeOverride
в @Embedded
) для достижения того, что вы хотите.
В качестве альтернативы, если вы используете Hibernate Validator, вы можете аннотировать свою собственность с помощью @NotNull
, хотя это приведет только к проверке уровня приложения, а не уровня db.