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;

}