日期:2014-05-18  浏览次数:20702 次

Hibernate annotation many to one多对一的不明错误?
各位大哥,求救阿~
我有两个表,其中一个是含复合主键,在查询时候会一直出现下面的错误讯息...
我想应该是annotation错误,可是自己就是怎麽都看不出来哪边错?
不好意思请路过大侠解救....感谢感谢...

Column HA0501 not in table KZ01 in TESTDB.


KZ01表(ManytoOne)

/**
 * Kz01 entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "KZ01", schema = "TESTDB", catalog = "TEST")
public class Kz01 implements java.io.Serializable {

// Fields

private Kz01Id id;
private String kmemo;


/** default constructor */
public Kz01() {
}

/** full constructor */
public Kz01(Kz01Id id, String kmemo) {
this.id = id;
this.kmemo = kmemo;
}
@ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH},fetch = FetchType.LAZY)
    @JoinColumn(name = "id.kzpem")
private Ha0501 ha0501;
public Ha0501 getHa0501() {
return ha0501;
}

public void setHa0501(Ha0501 ha0501) {
this.ha0501 = ha0501;
}

// Property accessors
@EmbeddedId
@AttributeOverrides({
@AttributeOverride(name = "kzpem", column = @Column(name = "KZPEM", nullable = false, precision = 7, scale = 0)),
@AttributeOverride(name = "kzyer", column = @Column(name = "KZYER", nullable = false, precision = 4, scale = 0)),
@AttributeOverride(name = "kztyp", column = @Column(name = "KZTYP", nullable = false, length = 2)),
@AttributeOverride(name = "kzrno", column = @Column(name = "KZRNO", nullable = false, length = 14)) })
public Kz01Id getId() {
return this.id;
}

public void setId(Kz01Id id) {
this.id = id;
}

@Column(name = "KMEMO", nullable = false, length = 42)
public String getKmemo() {
return this.kmemo;
}

public void setKmemo(String kmemo) {
this.kmemo = kmemo;
}
}


Kz01Id是myeclipse生成的

/**
 * Kz01Id entity. @author MyEclipse Persistence Tools