admin 发表于 2015-5-19 15:29

Hibernate中使用复合主键注意规则

使用复合主键的实体类必须实现Serializable接口。
2. 使用复合主键的实体类必须重写equals和hashCode方法。
/*实体类,使用复合主键必须实现Serializable接口*/
public class People implements Serializable
{
   private static final long serialVersionUID = -4888836126783955019L;
   
   private String id;
   private String name;
   private int age;
   
   public People()
   {
      
   }

   public String getId()
   {
       return id;
   }

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

   public String getName()
   {
       return name;
   }

   public void setName(String name)
   {
       this.name = name;
   }

   public int getAge()
   {
       return age;
   }

   public void setAge(int age)
   {
       this.age = age;
   }

   @Override
   public int hashCode()
   {
       final int prime = 31;
       int result = 1;
       result = prime * result + ((id == null) ? 0 : id.hashCode());
       result = prime * result + ((name == null) ? 0 : name.hashCode());
       return result;
   }

   @Override
   public boolean equals(Object obj)
   {
       if (this == obj)
         return true;
       if (obj == null)
         return false;
       if (getClass() != obj.getClass())
         return false;
       People other = (People) obj;
       if (id == null)
       {
         if (other.id != null)
               return false;
       }
       else if (!id.equals(other.id))
         return false;
       if (name == null)
       {
         if (other.name != null)
               return false;
       }
       else if (!name.equals(other.name))
         return false;
       return true;
   }
}



页: [1]
查看完整版本: Hibernate中使用复合主键注意规则