【问题标题】:JPA Unique constraint on nested entitiesJPA 对嵌套实体的唯一约束
【发布时间】: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


    【解决方案1】:

    查询

    您可以使用“旧”样式连接来连接这些表,而无需更改任何配置。它使您能够通过不直接链接的列来链接实体:

    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;
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-25
      • 2011-03-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多