迪尼玛绳厂家:hibernate 关联主键映射 composite-id - hacker0825的日志...

来源:百度文库 编辑:九乡新闻网 时间:2024/05/05 05:28:20

hibernate 关联主键映射 composite-id

SSH 2011-02-09 19:32:00 阅读96 评论0   字号:大小 订阅

关联主键映射:指的就是复合主键,多个字段组合一起作为主键

如果想要完成复合主键,实体类需要满足以下两个特点:

1.实现Serializable接口

2.重载equals()hashCode()方法,来实现组合的标识符的相等判断

 

实体类:

public class Person implements Serializable{      //实现Serializable接口
 private int id;                                 //这里将 id 和 name 两个属性作为复合主键
 private String name;
 private int age;

 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;
 }
 public int getAge() {
  return age;
 }
 public void setAge(int age) {
  this.age = age;
 }
 
 @Override
 public boolean equals(Object obj) {           //重载equals()方法
  // TODO Auto-generated method stub
  return super.equals(obj);
 }

 @Override
 public int hashCode() {                              //重载hashCode()方法
  // TODO Auto-generated method stub
  return super.hashCode();
 }
}

配置文件:


                                  //注意此处的composite-id节点
                //指定复合主键组成属性名
         //指定复合主键组成属性名
  

  
 

 

测试类:

public class Test {
 public static void main(String [] args){
  Session session = HibernateUtil.getSession();
  Transaction tx = session.beginTransaction();

  Person p = new Person();
  p.setId(1);
  p.setName("jack");
  p.setAge(30);
  
  session.save(p);
  tx.commit();
 }
}