JPA @ManyToOne 映射指向同一列的多个字段

JPA @ManyToOne map multiple fields pointing the same column

我需要映射一个实体(在此示例中为实体 Colectivo)的两个字段,它们引用相关实体 TipoDominio[ 上的同一列=22=]。 可能吗?

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 仅应在您的相关实体具有 composite/multiple 键时使用。

正如@crizzis 提到的,单个 @JoinColumn 应该足以满足每个属性。

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "TDM_TAC")
private TiposDominioMantenimiento tdmTac;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "TDN_ECO") 
private TiposDominioMantenimiento tdnEco;