zoukankan      html  css  js  c++  java
  • 单向多对一的关联映射

    1、 学生表student 和年级表grade

    2、类Student Grade

    Student:

    1 public class Student {
    2     private int id;
    3     private String name;
    4     private int age;
    5     private Grade grade;
    6 //get…set
    7 }

    Grade:

    1 public class Grade {
    2     private int id;
    3     private String name;
    4     //get…set
    5 }

    3、 映射文件

    Grade.hbm.xml

    1 <hibernate-mapping package="cn.siggy.pojo">
    2     <class name="Grade">
    3         <id name="id">
    4             <generator class="native"></generator>
    5         </id>
    6         <property name="name"/>
    7     </class>
    8 </hibernate-mapping>

    Student.hbm.xml

     1 <hibernate-mapping package="cn.siggy.pojo">
     2     <class name="Student">
     3         <id name="id">
     4             <generator class="native"></generator>
     5         </id>
     6         <property name="name"/>
     7         <property name="age"/>
     8         <!-- 多对一  name 表示属性名  class 指明 属性对应的类 
     9          column指 数据库表中的列名 -->
    10             <many-to-one name="grade" class="Grade" 
    11         column="grade_id" foreign-key="fk_grade" not-null="true"/>    
    12   </class>
    13 </hibernate-mapping>

    4、 测试代码

     1 @Test
     2     public void testSave() throws HibernateException, SerialException, SQLException{
     3         Session session = null;
     4         Transaction tx = null;
     5         try{
     6             session = HibernateUtil.getSession();
     7             tx = session.beginTransaction();
     8             Grade grade = new Grade();
     9             grade.setName("基础");
    10             session.save(grade);
    11             Student stu = new Student();
    12             stu.setName("张三疯");
    13             stu.setAge(22);
    14             stu.setGrade(grade);
    15             session.save(stu);
    16             
    17             tx.commit();
    18             
    19         }catch (HibernateException e) {
    20             if(tx!=null)
    21                 tx.rollback();
    22             e.printStackTrace();
    23             throw e;
    24         }finally{
    25             HibernateUtil.closeSession();
    26         }
    27     }
  • 相关阅读:
    hihocoder-1014 Trie树
    51Nod-1265 四点共面
    cf466B Wonder Room
    2014.9.13模拟赛【数位和乘积】
    2014.9.13模拟赛【环上的游戏】
    bzoj2719[Violet 4]银河之星
    wikioi1450 xth的旅行
    poj2352 stars
    2014.9.6模拟赛【藏妹子之处】
    2014.9.6模拟赛【工资】
  • 原文地址:https://www.cnblogs.com/jiangjianzhu/p/5549311.html
Copyright © 2011-2022 走看看