【发布时间】:2011-07-05 12:18:43
【问题描述】:
我的一个实体需要部分约束之类的东西。
@Entity
public class MyEntity
{
@NotNull
private String name;
@ManyToOne @NotNull
private Type type;
}
仅针对单个 type 我需要 name 是唯一的。
这可以通过@UniqueConstraint 实现,还是我需要通过@PrePersist 和@PreUpdate 监听器来实现?到目前为止我还没有实现这样的监听器,但是即使我在这个监听器中检查了约束,它是否保证防止重复条目?
更新
假设约束应该只对type=special有效
- 允许
{id=1,type=normal,name=Test},{id=2,type=normal,name=Test} - 不允许:
{id=3,type=special,name=Test},{id=4,type=special,name=Test}
【问题讨论】:
标签: java jpa constraints jpa-2.0