是否可以在表中创建唯一的外键?假设我有实体A和B.
A:
@Entity
class A extends Serializable {
@Id
private long id;
@OneToOne
private B b;
}
Run Code Online (Sandbox Code Playgroud)
B:
@Entity
class B extends Serializable {
@Id
private long id;
}
Run Code Online (Sandbox Code Playgroud)
我想这样做,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"})
})
Run Code Online (Sandbox Code Playgroud)
其中"b_id"是外键约束的名称.
| 归档时间: |
|
| 查看次数: |
1559 次 |
| 最近记录: |