我有一个尊贵的客户和订单,我想在 hibernate 状态下建立双向关系。我该怎么做呢?谢谢
@Entity
@Table(name="VCUST")
@DiscriminatorValue("VCUST")
@PrimaryKeyJoinColumns({
@PrimaryKeyJoinColumn(name="CUST_ID",referencedColumnName="ID"),
@PrimaryKeyJoinColumn(name="CUST_TYPE",referencedColumnName="TYPE")
})
public class ValuedCustomer extends Customer {
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL,orphanRemoval = true)
@JoinColumn(name = "customer_order", nullable = true)
private Set<Order> orders = new HashSet<>();
}
@Entity
@Table(name=“Order”)
public class Order {
@Id
private int id;
}
最佳答案
这很容易。重要的是@OneToMany 中的mappedBy 属性,它指示该关系由Order 实体管理。
@Entity
@Table(name="VCUST")
@DiscriminatorValue("VCUST")
@PrimaryKeyJoinColumns({
@PrimaryKeyJoinColumn(name="CUST_ID",referencedColumnName="ID"),
@PrimaryKeyJoinColumn(name="CUST_TYPE",referencedColumnName="TYPE")
})
public class ValuedCustomer extends Customer {
@OneToMany(mappedBy= 'valuedCustomer" fetch = FetchType.LAZY, cascade = CascadeType.ALL,orphanRemoval = true)
private Set<Order> orders = new HashSet<>();
}
@Entity
@Table(name=“Order”)
public class Order {
@Id
private int id;
@ManyToOne
private ValuedCustomer valuedCustomer;
}
关于java - 有没有办法在 JPA 中使用鉴别器值与实体继承建立双向关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56485885/