gpt4 book ai didi

java - 对多个字段施加唯一约束

转载 作者:行者123 更新时间:2023-11-30 04:23:41 28 4
gpt4 key购买 nike

假设我有一个这样的实体:

@Entity
public Foo {
@Id
private Long id;

private String name;

private String type;

...
}

有没有办法表达名称和类型应该是唯一的?这意味着,例如,您可以使用类型为“y”的名称“x”和类型为“z”的名称“x”,但不能使用类型为“y”的其他“x”。

@EmbeddedId 并不能解决问题,因为名称可以稍后更改 - 但类型在实体的整个生命周期中保持不变。

最佳答案

您可以在 @Table 注释上添加实体的约束。在您的情况下,您希望使两个连接字段唯一。您将使用 @UniqueConstraint 注释。

@Entity
@Table(uniqueConstraints=
@UniqueConstraint(columnNames = {"name", "type"})
public Foo {
@Id
private Long id;
@Column
private String name;
@Column
private String type;

...
}

Take a look at the javadoc for @UniqueConstraint .

关于java - 对多个字段施加唯一约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16401751/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com