`

hibernate对映射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">

<hibernate-mapping>
	<class name="cn.secn.com.model.StuIdCard">
		<id name="id">
			<generator class="native"></generator>
		</id>
		<property name="num"/>
		<!-- inverse="true" inverse是反转的意思;意思就说。在一对多的一方将表之间的关联关系交给对方去管理;
		并且给结方一个Key 重新命名字段的名称stuid;这里要和对方的维护字段名一致 
		 cascade="delete" :删除时级联删除子类的数据
		-->
		<set name="student" inverse="true" cascade="delete"> 
			<key>
				<column name="stuid" />
			</key>
			<one-to-many class="cn.secn.com.model.Student"/>
		</set>
		
    </class>
	
</hibernate-mapping>

 

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

<hibernate-mapping>
	<class name="cn.secn.com.model.Student" dynamic-update="true">
		<id name="id">
			<generator class="native"></generator>
		</id>		
		<property name="name"></property>
		<property name="age" />
		<property name="sex" />
		<property name="good" type="integer"></property>
		<!-- cascade="all"级联,当然以student为添加对象时,同时也会级联把studIdCard添加上 -->
		<!-- lazy="false" lazy:懒惰的意思;当懒惰时就不会把想studIdCard也发一个sql语句;默认是true;意思就是懒惰的 -->
		<!-- fetch="join" 把二个表通过join的方式连接到一起
			在这里lazy="false" fetch="join" 可以选择一个来使用:
			lazy="false" 不懒惰的;就把二个关联表的信息读取出来;select *  from A;select * from B;二个表是分开的
			fetch="join" 是把二张表关联起来读取出来:select a.* ,b.* from A a left outer join B b a.id=b.aid where a.id=?
			
			cascade属性:
				all : 所有情况下均进行关联操作。
				none:所有情况下均不进行关联操作。这是默认值。
				save-update:在执行save/update/saveOrUpdate时进行关联操作。
				delete:在执行delete时进行关联操作。 
		 -->
		<many-to-one name="student" column="stuid" cascade="save-update" fetch="join" ></many-to-one>
    </class>
	
</hibernate-mapping>

 

下面是源代码;自己加上hibernate和Junit的Jar包就可以调试;

不懂的可以留言交流.

 

分享到:
评论

相关推荐

    hibernate实体映射文件字段设置默认值

    hibernate实体映射文件字段设置默认值

    详解hibernate双向多对多关联映射XML与注解版

    本篇文章主要介绍了详解hibernate双向多对多关联映射XML与注解版,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    Hibernate_映射配置文件详解

    Hibernate_映射配置文件详解,个人觉的比较不错的关于hibernate讲解的ppt,对于xml配置,继承关系,多对多等关系映射讲的很详细!

    08.拓薪教育-hibernate4.3的hibernate.cfg.xml基本配置.part2

    ORM思想,hibernate介绍,hibernate.cfg.xml配置,hbm.xml映射文件详解,主键生成策略使用,PO对象状态及状态的转换分析、一级缓存,Hibernate数据检索技术,Hibernate高级映射技术,Hibernate多表联合查询, ...

    08.拓薪教育-hibernate4.3的hibernate.cfg.xml基本配置.part1

    ORM思想,hibernate介绍,hibernate.cfg.xml配置,hbm.xml映射文件详解,主键生成策略使用,PO对象状态及状态的转换分析、一级缓存,Hibernate数据检索技术,Hibernate高级映射技术,Hibernate多表联合查询, ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     15.3 映射双向多对多关联关系  15.3.1 关联两端使用元素  15.3.2 在inverse端使用元素  15.3.3 使用组件类集合  15.3.4 把多对多关联分解为两个一对多关联  15.4 小结  15.5 思考题 第16章 Hibernate的检索...

    Hibernate配置文件中映射元素详解

    对象关系的映射是用一个XML文档来说明的。映射文档可以使用工具来生成,如XDoclet,Middlegen和AndroMDA等。

    hibernate 框架详解

    指定同时映射XML和类 19.1.2. 只定义XML映射 19.2. XML映射元数据 19.3. 操作XML数据 20. 提升性能 20.1. 抓取策略(Fetching strategies) 20.1.1. 操作延迟加载的关联 20.1.2. 调整抓取策略(Tuning ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part4

     15.3 映射双向多对多关联关系  15.3.1 关联两端使用元素  15.3.2 在inverse端使用元素  15.3.3 使用组件类集合  15.3.4 把多对多关联分解为两个一对多关联  15.4 小结  15.5 思考题 第16章 Hibernate的检索...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    12.5 使用Hibernate的工具快速生成映射文件和POJO 12.5.1 使用MiddleGen根据数据库产生映射文件 12.5.2 使用hbm2java根据映射文件产生POJO 12.6 整合Struts、Spring和Hibernate实现用户管理 12.6.1 Struts、Spring和...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part3

     15.3 映射双向多对多关联关系  15.3.1 关联两端使用元素  15.3.2 在inverse端使用元素  15.3.3 使用组件类集合  15.3.4 把多对多关联分解为两个一对多关联  15.4 小结  15.5 思考题 第16章 Hibernate的检索...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part1.rar

     15.3 映射双向多对多关联关系  15.3.1 关联两端使用元素  15.3.2 在inverse端使用元素  15.3.3 使用组件类集合  15.3.4 把多对多关联分解为两个一对多关联  15.4 小结  15.5 思考题 第16章 Hibernate的检索...

    03.拓薪教育-hibernate4.3架构详解

    ORM思想,hibernate介绍,hibernate.cfg.xml配置,hbm.xml映射文件详解,主键生成策略使用,PO对象状态及状态的转换分析、一级缓存,Hibernate数据检索技术,Hibernate高级映射技术,Hibernate多表联合查询, ...

    Hibernate实战(第2版 中文高清版)

     7.3.1 多态的多对一关联   7.3.2 多态集合   7.3.3 对联合的多态关联   7.3.4 每个具体类一张多态表   7.4 小结   第8章 遗留数据库和定制SQL   8.1 整合遗留数据库   8.1.1 处理主键   8.1.2 带...

    Hibernate 课件_配置文件详解

    我培训用的 Hibernate课件, 个人能力范围内精心整理,图文并茂. 希望能对大家学习 Hibernate 提供帮助. 这是第二篇, 内容如下:Hibernate配置文件;jdbc.fetch_size;...关联关系映射:双向 1-N;继承映射

    05.拓薪教育-hibernate4.3环境搭建上.part1

    ORM思想,hibernate介绍,hibernate.cfg.xml配置,hbm.xml映射文件详解,主键生成策略使用,PO对象状态及状态的转换分析、一级缓存,Hibernate数据检索技术,Hibernate高级映射技术,Hibernate多表联合查询, ...

    Hibernate5快速学习步骤

    本章学习目标  Hibernate 初认识  Hibernate 的HelloWorld  hibernate.cfg.xml 配置... *.hbm.xml 对象映射文件详解  Hibernate 核心接口详解  抽取HibernateUtil 工具类  使用Session 接口进行增删改查

    Struts2+Spring+Hibernate整合入门详解

    Hibernate 是一个纯 Java 的对象关系映射和持久性框架,它允许您用 XML 配置文件把普通 Java 对象映射到关系数据库表。使用 Hibernate 能够节约大量项目开发时间,因为整个 JDBC 层都由这个框架管理。这意味着您的...

Global site tag (gtag.js) - Google Analytics