在Hibernate中为多个可为空的列创建唯一约束

时间:2014-07-11 08:45:46

标签: java hibernate persistence

我认为(通常)可以对表列具有唯一约束,但只有那些非空的(例如,我在此处阅读https://stackoverflow.com/a/767702/3733425

但它可能在休眠吗?

这里我有一个包含3个字段(a,b,c)的实体,它们应该是唯一的。

但是如果a为null(这是非常常见的),那么约束不应该应用

换句话说,可以有很多(0,b,c)行,但只有唯一的(a!= 0,b,c)

@Entity
@Table(uniqueConstraints = @UniqueConstraint(columnNames = {"a", "b", "c"}))
public class Widget {
    @Id
    @GeneratedValue;
    private Long id;

    @Basic(optional = true)
    private Integer a;

    @Basic(optional = false)
    private String b;

    @Basic(optional = false)
    private Long c;

    ...
}

0 个答案:

没有答案