我是休眠新手,我不知道如何映射这个简单的模型使用 JPA 或 Hibernate 注释。我尝试建模的是提供者具有全局评级,并且全局评级实体的标识符与提供者实体的标识符相同(单向 OneToOne(,换句话说,我希望实体全局评级中的外键同时是主要和外部,但提供者实体也具有实体全局评级的外键。这可能吗?
你可以通过@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
}