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