• hibernate联合主键的使用


    转自:http://chengyue2007.javaeye.com/blog/419408

    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >

    <hibernate-mapping package="classweb.model.po">
    <class
       name="Users"
       table="USERS"
    >
       <meta attribute="sync-DAO">false</meta>
       <composite-id name="id" class="UsersPK">
        <key-property
         name="name"
         column="NAME"
         type="string"
        />
        <key-property
         name="tel"
         column="TEL"
         type="string"
        />
       </composite-id>

       <property
        name="age"
        column="AGE"
        type="string"
        not-null="false"
       />

    </class>
    </hibernate-mapping>

    Java代码 :
    1. 以下代码生成一个Users对象,并保存.   
    2.   
    3.      Session s = HibernateUtil.currentSession();   
    4.      Transaction t = s.beginTransaction();   
    5.      UsersPK usersPK = new UsersPK();   
    6.      usersPK.setName(1);   
    7.      usersPK.setTel(4);   
    8.      Users user = new Users();   
    9.      user.setAge("19");   
    10.      user.setId(usersPK );   
    11.      s.save(user);   
    12.      t.commit();   
    13.      HibernateUtil.closeSession();   
    14.      System.out.println("insert success!");   
    15.   
    16. 更新.   
    17.   
    18.      Session s = HibernateUtil.currentSession();   
    19.      Transaction t = s.beginTransaction();   
    20.      UsersPK usersPK = new UsersPK();   
    21.      usersPK.setDbid(1);   
    22.      usersPK.setRowUID(4);   
    23.      Users user = (Users)s.load(Users.class, usersPK);   
    24.   
    25.      user.setAge("20");   
    26.      s.update(user);   
    27.      t.commit();   
    28.      HibernateUtil.closeSession();   
    29.      System.out.println("update success!");   
    30.   
    31. 删除.   
    32.   
    33. Session s = HibernateUtil.currentSession();   
    34.      Transaction t = s.beginTransaction();   
    35.      UsersPK usersPK = new UsersPK();   
    36.      usersPK.setDbid(1);   
    37.      usersPK.setRowUID(4);   
    38.      Users user = (Users)s.load(Users.class, usersPK);   
    39.   
    40.      s.delete(user);   
    41.      t.commit();   
    42.      HibernateUtil.closeSession();   
    43.      System.out.println("delete success!");   
    44.   
    45. 最后讲select   
    46.   
    47. 如果对复合主键中的一个主键进行查询,必须   
    48.   
    49.      Session s = HibernateUtil.currentSession();   
    50.      Criteria c = s.createCriteria(Users.class);   
    51.      c.add(Restrictions.eq("id.name", "levi"));   
    52.      List list = c.list();   
    53.      Iterator iter = list.iterator();   
    54.     while (iter.hasNext()) {   
    55.        Users item = (Users) iter.next();   
    56.        System.out.println("name:" + item.getId().getName());   
    57.        System.out.println("tel;" + item.getId().getTel());   
    58.        System.out.println("age:" + item.getAge());   
    59.      }   
    60.      HibernateUtil.closeSession();   
    61.      System.out.println("select success!");  
  • 相关阅读:
    【Javascript】javascript学习 十六 JavaScript 事件
    【Javascript】javascript学习 十七/八/九 Try...Catch/Throw/OnError 语句
    【VB】VB ListView控件转载
    【VB6.0】VB常用术语/内部函数
    【Javascript】javascript学习 二十 JavaScript 特殊字符
    【VB】VB文件系统操作
    【C#】C#处理文本文件(转)
    【Javascript】javascript学习 十五 For...In 声明
    【C#】C#常用函數收集
    客户端和服务器端调用JavaScript函数
  • 原文地址:https://www.cnblogs.com/xinzhuangzi/p/4100574.html
Copyright © 2020-2023  润新知