你的TeacherPK.class呢?序列化、重写equals、hashcode了么?

解决方案 »

  1.   


    package com.hibernate;import javax.persistence.Embeddable;//@Embeddable
    public class TeacherPK implements java.io.Serializable{
    private int id;
    private String name;
    public int getId() {
    return id;
    }
    public void setId(int id) {
    this.id = id;
    }
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    @Override
    public boolean equals(Object o){
    if(o instanceof TeacherPK){
    TeacherPK pk = (TeacherPK)o;
    if(this.id ==pk.getId() && this.name.equals(pk.getName())){
    return true;
    }
    }
    return false;
    }
    @Override
    public int hashCode(){
    return this.name.hashCode();
    }}
      

  2.   

     @GeneratedValue(strategy=GenerationType.TABLE,generator = "Teacher_GEN")注释掉就行了
      

  3.   

    因为无法识别id和name哪一个是序列化