有没有办法与实体继承建立双向关系.在具有鉴别器值的 JPA 中联接



我有一个 ValuedCustomer 和 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(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;

}

最新更新