Pre*_*raj 6 java hibernate jpa-2.0
我在JPA中有一个单表映射的继承,Say A类和B类扩展了一些抽象实体,所以我必须在A端使A&B的列可以为空,但是如果有人试图保持A,那么A的所有字段都应该是不为null,我想通过代码强制执行此操作.我可以使用以下代码来实现此目的 -
@Entity
@DiscriminatorValue("1")
public Class A extends SomeAbstractEntity{
@Basic(optional = false)
private String nameOfA;
}
Run Code Online (Sandbox Code Playgroud)
我在JPA中读到了@Basic(可选= false)与@Column(nullable = false)的答案,并认为这可能是可以实现的,但想知道什么是最好的方法.
这很有趣,但看起来在这种情况下(单表继承)@Basic(optional = false)
不是由 Hibernate 强制执行的(尽管在其他情况下它按预期工作)。
如果是这样,强制执行此规则的唯一选择是使用@NotNull
JSR-303 Bean 验证中的约束。JSR-303 与 JPA 2.0 顺利集成,以便在持久化实体时自动检查约束,请参阅Hibernate Validator。
归档时间: |
|
查看次数: |
5054 次 |
最近记录: |