一对一********************************************************A、主健映射:
都是one-to-one要用foreign生成策略。 以汽车car和发动机Engine(一对一关系)为例:
a、主表Car.hbm.xml的写法 <class name="Car" table="car_pk"> <id name="id" column="id" type="integer"> <generator class="native" /> </id> <property name="name" column="name" type="string" /> <one-to-one name="engine" class="Engine" cascade="all"/> </class> 注:cascade="all" 表示增删改查Car对象时都会级联增加、删除和修改Engine对象。 b、辅表Engine.hbm.xml的写法 <class name="Engine" table="engine_pk"> <id name="id" column="id" type="integer"> <generator class="foreign"> <param name="property">car</param> </generator> </id> <property name="model" column="model" type="string" /> <one-to-one name="car" class="Car" constrained="true"/> </class> User类Address类User为主类,Address为子类两个类中所有的属性都要加上geter,setter方法在User类中的setter中应该这样写是两个表关联起来:public void setAddress(Address address) {this.address = address;address.setUser(this);}注:constrained="true"表示Engine应用了Car的主健作为外健注意属性类型,不同的数据库属性所对应的数据类型不一样,Mysql 没有Long型,应该用Integer
B、唯一外健映射:
主表中用one-to-one,通过property-ref many-to-one 在主表中(User)<one-to-one name="address" class="Address" cascade="save-update"></one-to-one>在附表中(Address)<many-to-one name="user" class="User" unique="true" column="age"></many-to-one> ********************************************************一对多********************************************************编写User.hbm.xml,关联属性acts的配置如下:<set name="acts" cascade="all"//<set name="acts">表示属性acts是一个Set集合inverse="true">//inverse="true"表示由关系的另外一端<key column="fid"/>//<key column="fid">表示关系另一端(多端,如Account表)的关联表中和本表相关的外键字段的名字是fid<one-to-many class="Account"/>//表示该集合中保存的是持久对象,因此该集合属性acts(HashSet的名字)是一个代表一对多关系的"关联属性"</set> 其中: ** <set name="acts">表示属性acts是一个Set集合 ** <one-to-many>表示该集合中保存的是持久对象,因此该 集合属性acts是一个代表一对多关系的"关联属性" ** class="Account"表示该集合中保存的持久对象的类型是Account ** <key column="fid">表示关系另一端(多端) 的关联表中和本表相关的外键字段的名字是fid ** cascade="all"是级联操作的级别 ** inverse="true"表示由关系的另外一端 (多端)来维护关系,以提高效率 注:在one一端的Set集合应该是HashSet集合 Set<Account> accs=new HashSet(); 在many端映射正常些 <many-to-one name="user" column="accfid" cascade="save-update"></many-to-one> name="user":是对应User类型这个属性的名字 column="accfid":many端外键的名字,与one端 <set 中的 <key 中的column的值一致 one端的setter和getter方法不要少,另外再加上addXXX()方法。
********************************************************多对多********************************************************在student.hbm.xml中的XML的编写:
在course.hbm.xml中的XML的编写:
您还没有登录,请您登录后再发表评论
【标题】:“Hibernate知识复习二:组合映射” 在Java Web开发中,Hibernate是一个非常流行的对象关系映射(ORM)框架,它简化了数据库操作,将数据库中的表映射为Java对象,使得开发者可以像操作普通对象一样操作...
在IT领域,尤其是在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作。本文将深入探讨 Hibernate 中的多对多关联映射,这是一个复杂但常见的数据模型关系,适用于那些两个...
**hibernate+spring复习大纲** 在Java Web开发领域,Hibernate和Spring是两个至关重要的框架。Hibernate是一个对象关系映射(ORM)框架,它简化了数据库操作,而Spring则是一个全面的企业级应用框架,提供了依赖...
在IT领域,尤其是在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作。本文将深入探讨Hibernate中的关联映射,特别是“一对多”和“多对一”的关系映射,这对于理解如何在...
通过这五天的复习,读者将能够全面了解Hibernate的工作原理,熟练掌握其配置、对象映射和查询操作,为实际项目开发中的数据持久化工作打下坚实基础。此外,学习过程中结合实践案例和问题分析,有助于深化理解和应用...
- **对象关系映射(ORM)**是Hibernate的核心功能,它允许开发人员将数据库中的表格映射为Java类,反之亦然。这样,数据的操作可以基于对象模型,而不是SQL语句。 - **Cascading(级联)**是Hibernate中处理关联...
本复习旨在深入理解Hibernate的核心概念、配置及常用API,帮助开发者提高开发效率。 一、Hibernate概述 Hibernate是Java领域中流行的ORM(Object-Relational Mapping)框架,它通过映射关系数据库与Java类,实现了...
本学习资料集合了多个关于Hibernate的重要主题,包括对象关系映射的基础、持久化机制、查询语言以及不同类型的关联关系,旨在帮助学习者深入理解并掌握Hibernate的核心概念和技术。 1. **对象状态及一对多关联** ...
- **实体类映射**:使用Hibernate的标注(annotations)进行映射时,主键用`@Id`标注,普通属性用`@Column`标注,对应的列则使用`name`属性指定。 - **Hibernate基本操作**:在Hibernate会话接口中,`delete`方法...
**标题:“Hibernate4.1.1的Demo实例”** **描述**:这个Demo实例深入浅出地展示了Hibernate 4.1.1版本的核心特性和使用方法。...同时,对于有经验的开发者,这也是复习和巩固Hibernate知识的一个好资料。
**J2EE复习积累(六)-Hibernate4.2** 在J2EE开发中,Hibernate作为一款流行的ORM(对象关系映射)框架,极大地简化了Java应用程序与数据库之间的交互。本篇复习将聚焦于Hibernate 4.2版本,该版本在前一版本的基础上...
Hibernate 通过提供一个映射配置文件或注解,能够将 Java 类映射到数据库表,并将 Java 对象映射到数据库记录。 - **ORM (Object-Relational Mapping)**: Hibernate 作为 ORM 工具,主要负责处理对象和关系型数据库...
《韩顺平.2011版.hibernate_ppt》是一个关于Hibernate框架的培训教程,由知名讲师韩顺平在2011年制作并分享。Hibernate是一个强大的Java对象关系...对于有经验的开发者,也是复习和深入理解Hibernate特性的良好资源。
《传智播客2016 Hibernate框架学习笔记》是一份详实的教程,旨在帮助初学者和进阶者深入理解和掌握Hibernate框架。...这些笔记不仅适合初学者,也为有经验的开发者提供了一个复习和深化Hibernate知识的良好资源。
**标题:“Hibernate_使用示例代码”** **描述:** 这篇资源主要提供了关于Hibernate框架的实战应用示例,作者在iteye...对于初学者,这是一个很好的起点,对于有经验的开发者,也是复习和巩固Hibernate技能的好材料。
- 使用注解方式描述Hibernate映射关系时,主要使用以下注解: - `@Id`:用于标记实体类中的主键属性。 - `@Column`:用于标记实体类中的普通属性。 - `@Entity`:用于标记实体类本身。 4. **Hibernate会话接口...
- 准备:配置Hibernate环境,包括hibernate.cfg.xml配置文件、实体类的编写、映射文件的创建。 - 步骤:创建SessionFactory,打开Session,开始事务,执行持久化操作(如save、update、delete、load或get),提交...
接下来,Hibernate是一个对象关系映射(ORM)框架,它使得开发者可以使用面向对象的方式来操作数据库,而无需直接编写SQL语句。Hibernate通过实体类和数据库表进行关联,通过SessionFactory创建Session,再通过...
Struts是Java Web开发中的一个MVC(Model-View-Controller)框架,而Hibernate则是一个对象关系映射(ORM)工具,用于处理数据库操作。 首先,让我们深入了解一下Struts框架。Struts通过提供一个结构化的模型,使得...
相关推荐
【标题】:“Hibernate知识复习二:组合映射” 在Java Web开发中,Hibernate是一个非常流行的对象关系映射(ORM)框架,它简化了数据库操作,将数据库中的表映射为Java对象,使得开发者可以像操作普通对象一样操作...
在IT领域,尤其是在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作。本文将深入探讨 Hibernate 中的多对多关联映射,这是一个复杂但常见的数据模型关系,适用于那些两个...
**hibernate+spring复习大纲** 在Java Web开发领域,Hibernate和Spring是两个至关重要的框架。Hibernate是一个对象关系映射(ORM)框架,它简化了数据库操作,而Spring则是一个全面的企业级应用框架,提供了依赖...
在IT领域,尤其是在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作。本文将深入探讨Hibernate中的关联映射,特别是“一对多”和“多对一”的关系映射,这对于理解如何在...
通过这五天的复习,读者将能够全面了解Hibernate的工作原理,熟练掌握其配置、对象映射和查询操作,为实际项目开发中的数据持久化工作打下坚实基础。此外,学习过程中结合实践案例和问题分析,有助于深化理解和应用...
- **对象关系映射(ORM)**是Hibernate的核心功能,它允许开发人员将数据库中的表格映射为Java类,反之亦然。这样,数据的操作可以基于对象模型,而不是SQL语句。 - **Cascading(级联)**是Hibernate中处理关联...
本复习旨在深入理解Hibernate的核心概念、配置及常用API,帮助开发者提高开发效率。 一、Hibernate概述 Hibernate是Java领域中流行的ORM(Object-Relational Mapping)框架,它通过映射关系数据库与Java类,实现了...
本学习资料集合了多个关于Hibernate的重要主题,包括对象关系映射的基础、持久化机制、查询语言以及不同类型的关联关系,旨在帮助学习者深入理解并掌握Hibernate的核心概念和技术。 1. **对象状态及一对多关联** ...
- **实体类映射**:使用Hibernate的标注(annotations)进行映射时,主键用`@Id`标注,普通属性用`@Column`标注,对应的列则使用`name`属性指定。 - **Hibernate基本操作**:在Hibernate会话接口中,`delete`方法...
**标题:“Hibernate4.1.1的Demo实例”** **描述**:这个Demo实例深入浅出地展示了Hibernate 4.1.1版本的核心特性和使用方法。...同时,对于有经验的开发者,这也是复习和巩固Hibernate知识的一个好资料。
**J2EE复习积累(六)-Hibernate4.2** 在J2EE开发中,Hibernate作为一款流行的ORM(对象关系映射)框架,极大地简化了Java应用程序与数据库之间的交互。本篇复习将聚焦于Hibernate 4.2版本,该版本在前一版本的基础上...
Hibernate 通过提供一个映射配置文件或注解,能够将 Java 类映射到数据库表,并将 Java 对象映射到数据库记录。 - **ORM (Object-Relational Mapping)**: Hibernate 作为 ORM 工具,主要负责处理对象和关系型数据库...
《韩顺平.2011版.hibernate_ppt》是一个关于Hibernate框架的培训教程,由知名讲师韩顺平在2011年制作并分享。Hibernate是一个强大的Java对象关系...对于有经验的开发者,也是复习和深入理解Hibernate特性的良好资源。
《传智播客2016 Hibernate框架学习笔记》是一份详实的教程,旨在帮助初学者和进阶者深入理解和掌握Hibernate框架。...这些笔记不仅适合初学者,也为有经验的开发者提供了一个复习和深化Hibernate知识的良好资源。
**标题:“Hibernate_使用示例代码”** **描述:** 这篇资源主要提供了关于Hibernate框架的实战应用示例,作者在iteye...对于初学者,这是一个很好的起点,对于有经验的开发者,也是复习和巩固Hibernate技能的好材料。
- 使用注解方式描述Hibernate映射关系时,主要使用以下注解: - `@Id`:用于标记实体类中的主键属性。 - `@Column`:用于标记实体类中的普通属性。 - `@Entity`:用于标记实体类本身。 4. **Hibernate会话接口...
- 准备:配置Hibernate环境,包括hibernate.cfg.xml配置文件、实体类的编写、映射文件的创建。 - 步骤:创建SessionFactory,打开Session,开始事务,执行持久化操作(如save、update、delete、load或get),提交...
接下来,Hibernate是一个对象关系映射(ORM)框架,它使得开发者可以使用面向对象的方式来操作数据库,而无需直接编写SQL语句。Hibernate通过实体类和数据库表进行关联,通过SessionFactory创建Session,再通过...
Struts是Java Web开发中的一个MVC(Model-View-Controller)框架,而Hibernate则是一个对象关系映射(ORM)工具,用于处理数据库操作。 首先,让我们深入了解一下Struts框架。Struts通过提供一个结构化的模型,使得...