【发布时间】:2017-06-13 01:19:15
【问题描述】:
拥有三个嵌套的实体,例如 A{b}、B{c}、C{id}
我可以使用 JPA 的唯一约束注解来访问 A 上 C 的 id 吗?
我的场景:我在 A 上有一些其他字段“z”,我想强制“z”和 c 的“id”是唯一关联的
【问题讨论】:
标签: java jpa nested constraints entity
拥有三个嵌套的实体,例如 A{b}、B{c}、C{id}
我可以使用 JPA 的唯一约束注解来访问 A 上 C 的 id 吗?
我的场景:我在 A 上有一些其他字段“z”,我想强制“z”和 c 的“id”是唯一关联的
【问题讨论】:
标签: java jpa nested constraints entity
查询
您可以使用“旧”样式连接来连接这些表,而无需更改任何配置。它使您能够通过不直接链接的列来链接实体:
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;
}
【讨论】: