Hibernate JPA @IdClass。错误:无法使用找到具有逻辑名称及其相关supertable和辅助表的列

时间:2016-07-14 18:31:55

标签: java hibernate jpa foreign-keys composite-primary-key

我有一个带有@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

}

0 个答案:

没有答案