我有一个实体公司的数据库:
@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">
非空且不同值的对(名称,代码)。