Hello every one, I try to map two model class by anotation but I caugth this error
Exception in thread "main" org.hibernate.TypeMismatchException: Provided id of the wrong type. Expected: class com.datam.xplorer.model.MpausrPK, got class com.datam.xplorer.model.MpuserPK
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:86)
here my class
MpuserPK
@Embeddable
public class MpuserPK implements Serializable {
@Column(name = "M0DIVI", nullable = false)
private String m0divi;
@Column(name = "M0USID", nullable = false)
private String m0usid;
public MpuserPK() {
}
//some getter and setter method
}
Mpuser
public class Mpuser implements Serializable {
private static final long serialVersionUID = 1L;
@EmbeddedId
protected MpuserPK mpuserPK;
@Column(name = "M0CONO", nullable = false)
private short m0cono;
@Column(name = "M0USPW", nullable = false)
private String m0uspw;
@Column(name = "M0USTA", nullable = false)
private char m0usta;
@Column(name = "M0PICT", nullable = false)
private String m0pict;
@OneToOne(cascade = CascadeType.ALL, mappedBy = "mpuser",targetEntity=com.datam.xplorer.model.Mpausr.class)
private Mpausr mpausr = new Mpausr();
public Mpuser() {
}
public Mpuser(MpuserPK mpuserPK) {
this.mpuserPK = mpuserPK;
}
//some getter and setter method
}
MpausrPK
@Embeddable
public class MpausrPK implements Serializable {
@OneToOne
@Column(name = "M1DIVI", nullable = false)
private String m1divi;
@Column(name = "M1USID", nullable = false)
private String m1usid;
public MpausrPK() {
}
//some getter and setter method
}
Mpausr
@Entity
@Table(name = "MPAUSR", schema="MTHJDTA")
public class Mpausr implements Serializable {
private static final long serialVersionUID = 1L;
@EmbeddedId
protected MpausrPK mpausrPK;
@Column(name = "M1CONO", nullable = false)
private short m1cono;
@Column(name = "M1AMIN", nullable = false)
private BigDecimal m1amin;
@Column(name = "M1AMAX", nullable = false)
private BigDecimal m1amax;
@Column(name = "M1POSI", nullable = false)
private String m1posi;
@Column(name = "M1PRIO", nullable = false)
private int m1prio;
@Column(name = "M1ORT1", nullable = false)
private String m1ort1;
@Column(name = "M1ORT2", nullable = false)
private String m1ort2;
@Column(name = "M1ORT3", nullable = false)
private String m1ort3;
@Column(name = "M1ORT4", nullable = false)
private String m1ort4;
@Column(name = "M1ORT5", nullable = false)
private String m1ort5;
@Column(name = "M1ORT6", nullable = false)
private String m1ort6;
@Column(name = "M1ORT7", nullable = false)
private String m1ort7;
@Column(name = "M1ORT8", nullable = false)
private String m1ort8;
@Column(name = "M1ORTY", nullable = false)
private char m1orty;
@Column(name = "M1STAT", nullable = false)
private char m1stat;
@Column(name = "M1LEVL", nullable = false)
private char m1levl;
@JoinColumns({@JoinColumn(name = "M1DIVI", referencedColumnName = "M0DIVI", insertable = false, updatable = false), @JoinColumn(name = "M1USID", referencedColumnName = "M0USID", insertable = false, updatable = false)})
@OneToOne
private Mpuser mpuser;
public Mpausr() {
}
public Mpausr(MpausrPK mpausrPK) {
this.mpausrPK = mpausrPK;
}
}
and I can't chage table structure.
please any one help me
