【问题标题】:How Map two entities that share the same primary key in hibernate with annotations?如何在hibernate中使用注释映射两个共享相同主键的实体?
【发布时间】:2018-04-29 13:22:48
【问题描述】:

我是hibernate的新手,我不知道如何映射这个简单的Model 使用 JPAHibernate 注释。我尝试建模的是提供者具有全局评级,并且全局评级实体的标识符与提供者实体的标识符相同(单向 OneToOne),换句话说,我想要 外键在实体全局评级中同时为primaryforeign,但提供者实体也有实体全局评级的外键 .这可能吗?

【问题讨论】:

    标签: java hibernate jpa primary-key hibernate-mapping


    【解决方案1】:

    你可以通过@MapsId注解实现你想要的。

    例如:

    @Entity
    public class Provider{
    
    @Id
    @GeneratedValue
    private long idProvider;
    
    @OneToOne(cascade=CascadeType.ALL, mappedBy="provider")
    private GlobalRating rating;
    
    // Getter & Setter
    }
    
    @Entity
    public class GlobalRating{
    @Id
    private long idProvider;            
    @OneToOne(cascade=CascadeType.ALL) 
    @MapsId
    @JoinColumn(name="idProvider")
    private Provider provider;
     // Getter & Setter          
    }
    

    【讨论】:

      猜你喜欢
      • 2014-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-12
      • 1970-01-01
      相关资源
      最近更新 更多