我需要映射实体(在此示例中为实体Colectivo)的两个字段,它们引用相关实体TipoDominio上的同一列。
可能吗?
Colectivo.java
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumns({@JoinColumn(name = "TDM_TAC", referencedColumnName = "IDETDM")})
private TiposDominioMantenimiento tdmTac;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumns({@JoinColumn(name = "TDN_ECO", referencedColumnName = "IDETDM")})
private TiposDominioMantenimiento tdnEco;
TipoDominio.java
@Id
@Column(name="IDETDM")
private BigDecimal ideTdm;
如果没有,我该如何指定?
非常感谢 :)
最佳答案
@JoinColumns
仅在您的相关实体具有复合/多个键时才应使用。
因此,正如@crizzis所述,对于每个属性,单个@JoinColumn
就足够了。
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "TDM_TAC")
private TiposDominioMantenimiento tdmTac;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "TDN_ECO")
private TiposDominioMantenimiento tdnEco;
关于java - JPA @ManyToOne映射指向同一列的多个字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46529228/