我需要映射实体(在此示例中为实体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/

10-10 18:11