我想要的是:
@Embedded(nullable = false) private Direito direito;
但是,您知道@Embeddable没有这样的属性。
有正确的方法吗?我不想要解决方法。
可嵌入组件(或复合元素,无论您想称呼它们)通常包含多个属性,因此被映射到多个列。因此,整个组件为null可以用不同的方式处理。J2EE规范没有规定一种方法。
如果所有组件的属性均为NULL,则Hibernate会将其视为NULL(反之亦然)。因此,您可以声明一个(任意)属性不为null(在on 内@Embeddable或@AttributeOverrideon的一部分@Embedded)以实现所需的结果。
@Embeddable
@AttributeOverride
@Embedded
另外,如果您使用的是Hibernate Validator,则可以使用属性进行注释,@NotNull尽管这只会导致应用程序级检查,而不是数据库级检查。
@NotNull