zoukankan      html  css  js  c++  java
  • hibernate中的cascade和inverse

    以Student和class为例,一个Student对应一个class,一个class对应多个Student。

    Student.hbm.xml

    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <!-- Generated 2016-11-19 9:05:48 by Hibernate Tools 3.5.0.Final -->
    <hibernate-mapping>
        <class name="com.hibernate4.model.Student" table="t_student">
            <id name="id" type="int">
                <column name="ID" />
                <generator class="native" />
            </id>
            <property name="name" type="java.lang.String">
                <column name="name" />
            </property>
            <many-to-one name="c" class="com.hibernate4.model.Class" cascade="save-update">
            <!--  cascade="save-update"表示保存Student时也保存class -->
                <column name="classId" />
            </many-to-one>
        </class>
    </hibernate-mapping>

    class.hbm.xml

    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <!-- Generated 2016-11-19 9:05:48 by Hibernate Tools 3.5.0.Final -->
    <hibernate-mapping>
        <class name="com.hibernate4.model.Class" table="t_class">
            <id name="id" type="long">
                <column name="ID" />
                <generator class="native" />
            </id>
            <property name="name" type="java.lang.String">
                <column name="name" />
            </property>
    
            <set name="students" inverse="true" cascade="delete">
                <!-- inverse="true"表示由双向关系中的另一方维护,即增加一个student时,如果Student的class属性目前在class表中 
                    不存在,那么可以马上新增这个class -->
                    <!-- cascade="delete"表示当删除一个class时,与之相关联的所有Student数据同时删除 -->
                <key column="classId"></key>
                <one-to-many class="com.hibernate4.model.Student" />
            </set>
        </class>
    </hibernate-mapping>
  • 相关阅读:
    加入强调语气,使用<strong>和<em>标签
    了解<hx>标签,为你的网页添加标题
    开始学习<p>标签,添加段落
    <body>标签,网页上显示的内容放在这里
    语义化,让你的网页更好的被搜索引擎理解
    深入源码分析SpringMVC底层原理(二)
    设计模式是什么鬼(解释器)
    Java并发面试题
    漫画 | Spring AOP的底层原理是什么?
    漫画|你还记得原生的JDBC怎么连接数据库吗?
  • 原文地址:https://www.cnblogs.com/miaoying/p/6080048.html
Copyright © 2011-2022 走看看