我有一个带有@Idclass anotation的Entity-class RepresentanteLegal,因为我有一个复合主键。
Anotation就像:
@IdClass(PkRepresentanteLegal.class)
我有一个关键属性的以下代码:
@Id
@ManyToOne(fetch=FetchType.LAZY)
@ForeignKey(name = "FK_RNREPLEG_PER")
@JoinColumns({
@JoinColumn(name="CD_TIPOID", referencedColumnName = "CD_TIPOID", nullable=false, updatable=true, insertable=true),
@JoinColumn(name="NR_IDENTI", referencedColumnName = "NR_IDENTI", nullable=false, updatable=true, insertable=true)
})
private Persona persona;
问题是当我停止使用@Idclass(放入注释)时,项目的部署任务成功完成并且一切正常但是当我使用该anotation时,我得到下一个错误:
org.hibernate.MappingException:无法找到具有逻辑名称的列:org.hibernate.mapping.Table(RNPERSONA)中的CD_TIPOID及其相关的超级表和次表
PkRepresentanteLegal是:
public class PkRepresentanteLegal implements Serializable {
private Persona persona;
private DatosBasicos datosBasicos;
private Date fcInicial;
// Getters
// Setters
}