And*_*lla 33 hibernate nullable embeddable
我想要的是:
@Embedded(nullable = false)
private Direito direito;
Run Code Online (Sandbox Code Playgroud)
但是,正如您所知,@ Embeddable没有这样的属性.
有没有正确的方法来做到这一点?我不想要解决方法.
Chs*_*y76 36
可嵌入组件(或复合元素,无论您想要调用它们)通常包含多个属性,因此映射到多个列.因此可以以不同的方式处理整个组件为空; J2EE规范并没有这样或那样.
如果组件的所有属性都为NULL,则Hibernate认为组件为NULL(反之亦然).因此,您可以将一个(任何)属性声明为非null(在on @Embeddable或者作为@AttributeOverrideon的一部分@Embedded)以实现您想要的.
或者,如果您正在使用Hibernate Validator,您可以注释您的属性,@NotNull尽管这只会导致应用程序级别检查,而不是数据库级别.
use*_*037 21
从Hibernate 5.1开始可以使用"hibernate.create_empty_composites.enabled"来改变这种行为(参见https://hibernate.atlassian.net/browse/HHH-7610)
Tom*_*ský 11
将虚拟字段添加到标记为@Embeddable的类中.
@Formula("0")
private int dummy;
Run Code Online (Sandbox Code Playgroud)
请参阅https://issues.jboss.org/browse/HIBERNATE-50.
| 归档时间: |
|
| 查看次数: |
16099 次 |
| 最近记录: |