【发布时间】:2011-06-29 00:06:29
【问题描述】:
我在 JPA 中有一个带有单表映射的继承,说 A 类和 B 类扩展了一些抽象实体,所以我必须在 DB 端使 A 和 B 中的列可以为空,但是如果有人试图持久化 A 那么所有字段A 不应该为空,我想通过代码强制执行此操作。
我可以使用以下代码来实现这一点 -
@Entity
@DiscriminatorValue("1")
public Class A extends SomeAbstractEntity{
@Basic(optional = false)
private String nameOfA;
}
我读了这个答案@Basic(optional = false) vs @Column(nullable = false) in JPA 并认为这可能是可以实现的,但想知道什么是最好的方法。
【问题讨论】:
-
我发现了太多的极端情况,其中实现(休眠)并没有真正做到标准似乎所说的那样。因此,即使理论上可以,测试也是唯一确定的方法。
-
哦..真的吗?能举几个例子吗?
-
看看这个site 视频 17-20 是关于继承的。我建议在那里观看所有视频。