gpt4 book ai didi

jpa - 使外键在 JPA 中唯一

转载 作者:行者123 更新时间:2023-12-04 21:46:33 27 4
gpt4 key购买 nike

是否可以使表中的外键唯一?假设我有实体 A 和 B。

答:

@Entity
class A extends Serializable {
@Id
private long id;

@OneToOne
private B b;
}

乙:

@Entity
class B extends Serializable {
@Id
private long id;
}

我想让一个 A 可以有一个 B,除了不能有其他 A 有相同的 B。例如:a1 有 b1,a2 有 b2...在这种情况下,a3 不能有 b1或 b2 因为 B 必须是唯一的。

有没有办法做到这一点?我希望能够将 @Column( unique = true ) 注释放在 @OneToOne 之上,但这似乎不可能。

最佳答案

@JoinColumn 不起作用。

你需要使用这样的东西:

@Table(name="B",  uniqueConstraints={
@UniqueConstraint(columnNames={"b_id"})
})

其中“b_id”是外键约束的名称。

关于jpa - 使外键在 JPA 中唯一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1733560/

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