JPA 对嵌套实体的唯一约束
JPA Unique constraint on nested entities
具有三个嵌套的实体,比如 A{b}
、B{c}
、C{id}
我可以使用 JPA 的唯一约束注释来访问 C 在 A 上的 id 吗?
我的场景:我在 A 上有一些其他字段 "z",我想强加 "z" 和 c 的 "id" 是唯一关联的
查询
您可以使用 'old' 样式连接连接这些表,而无需更改任何配置。它使您能够按列 link 实体,而不是直接 linked:
select a
From A a, C c
Where a.z = c.id
映射
如果你想改变配置试试这个:
public class C{
@ManyToOne
@JoinColumn(name = "id", referencedColumnName = "z")
private A a;
}
public class A{
@OneToMany(mappedBy = "a"
@JoinColumn(name = "z", referencedColumnName = "id")
private List<C> cCollection;
}
具有三个嵌套的实体,比如 A{b}
、B{c}
、C{id}
我可以使用 JPA 的唯一约束注释来访问 C 在 A 上的 id 吗?
我的场景:我在 A 上有一些其他字段 "z",我想强加 "z" 和 c 的 "id" 是唯一关联的
查询
您可以使用 'old' 样式连接连接这些表,而无需更改任何配置。它使您能够按列 link 实体,而不是直接 linked:
select a
From A a, C c
Where a.z = c.id
映射
如果你想改变配置试试这个:
public class C{
@ManyToOne
@JoinColumn(name = "id", referencedColumnName = "z")
private A a;
}
public class A{
@OneToMany(mappedBy = "a"
@JoinColumn(name = "z", referencedColumnName = "id")
private List<C> cCollection;
}