hibernate中自身之间的一对多与多对一的关联关系
在一些实际的场景当中,通常会发现一个表之间也会存在一对多与多对一的关联关系。比如:同事之间,存在一个老伙计带着好几个新学员等等。
碰到这是不是也会觉得有点儿棘手啊?不过也不过如此而已。掌握了一般的双向的一对多关联关系也就不难了。可以吧通常的两个对象合成一个对象来处理。即双向的一对多关联关系中的多的那一端与一的那一端均写在同一个对象之中。
实例:以User为例:
public class User { private int id; private String name; private Set<User> users; private User parent; //省去get/set方法 }
Xxx.hbm.xml配置
<hibernate-mapping> <class name="com.usc.geowind.lilin.bean.oneToMany.User" table="User"> <!-- type指明当前字段的类型 name对应实体中的属性名 --> <id type="integer" name="id"> <!-- 提供ID自增的策略 native会根据数据库自行判断 --> <generator class="native" /> </id> <property name="name" type="string" column="name"></property> <!-- 在自身的一对多多对一关联关系中配置,即集普通的一对多与多对一关联关系于一身 --> <!-- 一对多的关系配置 --> <set name="users"> <key column="parent_id"></key> <one-to-many class="com.usc.geowind.lilin.bean.oneToMany.User" /> </set> <!-- 多对一的关系关系配置 --> <many-to-one name="parent" column="parent_id"></many-to-one> </class> </hibernate-mapping>
相关推荐
**标题:“Hibernate关系映射”** 在Java世界中,Hibernate是一个强大的对象关系映射(ORM)框架,它允许开发者将数据库操作转化为面向对象的方式,极大地简化了数据持久化的复杂性。"多对一"关系映射是Hibernate...
这篇PPT主要介绍了Hibernate的核心概念、持久层的重要性以及ORM(对象关系映射)技术,同时也提及了Hibernate与其他持久层框架的对比。 **Hibernate核心概念** Hibernate是开源的Java库,它提供了一种对象-关系...
在Java企业级开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作。本文将深入探讨“hibernate关联映射实例”中的关键知识点,包括一对多、多对多和继承映射,这些都是Hibernate中...
SSH(Struts、Spring、Hibernate)是经典的Java Web开发框架,其中Hibernate负责数据访问层,提供了强大的ORM(对象关系映射)功能。本篇文章将深入探讨Hibernate中的一对多和多对多关系映射。 首先,让我们理解一...
这个框架集合了Spring的IoC(Inversion of Control)和AOP(Aspect Oriented Programming)功能,Struts的MVC(Model-View-Controller)设计模式,以及Hibernate的对象关系映射(ORM)解决方案。在构建SSH框架时,...
其中,Hibernate是一个对象关系映射(ORM)框架,它简化了数据库与Java对象之间的交互。在SSH项目中,正确配置Hibernate的jar包是确保数据库操作顺利进行的关键步骤。 该压缩包“SSH中Hibernate所需基本jar包”包含...
本教程将聚焦于如何在IntelliJ IDEA(简称IDEA)环境中集成Hibernate,以便利用其强大的对象关系映射(ORM)功能。"基于IDEA的SSH项目之五:集成Hibernate----lib包"这部分内容主要涉及的是项目的库依赖管理,即`lib...
2. **Hibernate框架**:Hibernate是一个对象关系映射(Object-Relational Mapping, ORM)工具,它简化了数据库操作,将Java对象和数据库表之间的映射关系自动处理。在SSH中,Hibernate作为数据访问层,负责数据库的...
通过学习和理解这些代码,你可以更好地掌握SSH框架下Hibernate的使用方法。 总的来说,SSH中的Hibernate使得开发者能够更加专注于业务逻辑,而不是数据库操作,提高了开发效率和代码质量。在实际项目中,通过SSH的...
**Hibernate4** 是一个对象关系映射(Object-Relational Mapping,ORM)框架,它可以将Java对象与数据库中的记录进行映射,从而避免了传统的SQL操作。Hibernate4提供了强大的查询语言HQL和Criteria API,使得开发者...
然后,我们需要为每个实体类创建对应的Hibernate映射文件(.hbm.xml),这些文件描述了Java对象与数据库表之间的映射关系。例如,如果我们有一个User类,映射文件可能如下所示: ```xml <hibernate-mapping> ...
在这个组合中,Hibernate作为持久层框架,负责对象关系映射(ORM),Spring则在业务逻辑层提供依赖注入(DI)和面向切面编程(AOP),而Struts则是控制层,处理用户请求并转发到相应的业务逻辑。 Hibernate 5是...
SSH框架是Java开发中常用的三大框架集成,包括Struts2、Spring和Hibernate。这个压缩包提供了搭建SSH框架所需的所有jar包和配置文件,使得开发者能够快速构建基于这三大框架的应用。 Struts2作为MVC(Model-View-...
本篇主要关注的是SSH中的Hibernate部分,一个强大的对象关系映射(ORM)框架,它允许开发者用Java对象来操作数据库,而无需直接编写SQL语句。 在“SSH学习记录(5)-简单Hibernate”中,我们可能将深入探讨以下几点:...
3. **Hibernate**:Hibernate是一个对象关系映射(ORM)框架,它简化了Java应用与数据库之间的交互。通过Hibernate,开发者可以将Java对象直接映射到数据库表,无需编写繁琐的SQL语句,从而减少了数据库操作的复杂性...
Hibernate4是流行的Java ORM(对象关系映射)框架,允许开发者以对象的方式操作数据库。它简化了数据库操作,通过HQL(Hibernate查询语言)和Criteria API提供了灵活的数据查询方式。在SSH架构中,Hibernate4负责将...
4. **SSH2中的Hibernate3.2**:在这个版本中,Hibernate提供了对JPA(Java Persistence API)的部分支持,增强了性能和易用性。它包括实体管理、会话工厂、查询语言(HQL和Criteria API)以及缓存机制等功能。...
### SSH--Hibernate详解 #### ORM概念与重要性 ORM(对象关系映射)是一种编程技术,用于将对象模型表示的数据与关系型数据库管理系统中的数据相互转换。简而言之,ORM提供了一种机制,使得开发者可以通过操作Java...
SSH(Struts、Spring、Hibernate)是Java Web开发中常见的三大框架,而Hibernate作为ORM(对象关系映射)框架,是连接Java应用程序与数据库的关键组件。本总结将围绕Hibernate的核心概念、配置、对象状态、关系映射...
Hibernate是一个对象关系映射(ORM)框架,它将数据库操作转换为对Java对象的操作,简化了数据访问层的开发。Hibernate4.3.4版本改进了查询语言HQL,提供了更强大的 Criteria 查询API,同时支持JPA2.1规范,使得与...