如何为JPA的多个列中的一个值在数据库中设置唯一约束



我有一个实体公司的数据库:

@Entity
@AllArgsConstructor
public class Company {
private String name;
private String code;
}

我想对两个字段都有一个唯一的约束,但要以特殊的方式。如果我要添加任何值,例如name,我想通过名称和代码列检查唯一性。

的例子:

new Company("Company 1", "123") - OK
new Company("Comp", null) - OK
new Company("CocaCola", "Comp") - not OK
new Company("Pepsi", null) - OK

这可能吗?

不知道如何设置。正常的约束在这种情况下不起作用

一种解决方案可能是在另一个表中使用具有唯一约束的唯一列,您将通过"Company">

非空且不同值的对(名称,代码)。

相关内容

  • 没有找到相关文章

最新更新