1 多对一关联: 在多的一段如User.hbm.xml<many-to-one name="group" column="groupid" cascade="save-update"></many-to-one>cascade是级联自动加载Group对象不用save(),Group.hbm.xml正常配置
2 主键关联 :即让两个对象具有相同的主键值,以表明他们之间地一一对应的关系,数据库表不会有额外的字段来维护它们之间地关系,仅通过表的主键来关联例如:
<单向关联>
<class name="com.test.hibernate.Person" table="Person">
<id name="id">
<!-- person的主键也是外键 -->
<generator class="foreign">
<param name="property">idCard</param>
</generator>
</id>
<property name="name"></property>
<!-- one-to-one标签是默认加载IdCard的 -->
<one-to-one name="idCard" constrained="true"></one-to-one> 默认是级联的通过主键加载(当一个类是另一个类的属性时,当加载当前的类时会自动加载另一个类,不用session.save(另一个类的实例);调用另一个类当前类会自动的session.save)one-one的作用是拿person的主键到IdCard找和Person相同的id,找到后加载的;IdCard.hbm.xml正常配置;
<双向关联>: 在单向关联的基础上,在IdCar.hbm.xml上添加<one-to-one name="person"> </one-to-one>,别忘了在对象IdCard类中添加person的属性
注意:在对对象进行数据库操作时,虽然是双向的,但只能通过Person能自动加载IdCard类,反过来不行?????
3 唯一的外键关联 :
本来是多对一的配置但如果加上唯一的限制 后,也可以用来表示一对一关联关系;
<单向关联>
<id name="id">
<generator class="native"></generator>
</id>
<property name="name"></property>
<many-to-one name="idCard" unique ="true"></many-to-one>在数据库表person中会多个idCard属性加载再议??????
<双向关联>: 在单向关联的基础上,在IdCar.hbm.xml上添加<one-to-one name="person" property-ref="idCard"> </one-to-one>
one-to-one 默认是查找主键如上是Person主键id来找的,而加上property-ref="idCard"则改为通过Person表中idCard属性来查的
分享到:
相关推荐
hibernate表映射一直记不住,这次总结一下,放便下次使用。。。
根据提供的文件信息,我们可以深入探讨Hibernate中的连表查询方法及其应用。下面将详细介绍与标题、描述及部分代码相关的几个核心知识点: ### Hibernate 连表查询基础 Hibernate 是一个开源的对象关系映射(ORM)...
标题中的“hibernate的映射表生成器”是一个图形用户界面(GUI)工具,专门设计用于帮助开发者自动生成数据表,其基于对象模型(po)和映射文件(XML文件)。这个工具的出现,极大地提高了开发效率,减少了手动创建...
### Hibernate多表联合查询详解 #### 一、引言 在实际项目开发中,我们经常需要处理复杂的数据库查询,特别是涉及到多个表之间的关联查询。Hibernate作为一款流行的Java持久层框架,提供了一种非常便捷的方式来处理...
总结,"Hibernate 多表连接分页查询示范项目"是一个实用的示例,它展示了如何在实际应用中利用 Hibernate Criteria API 实现复杂查询和分页,对于学习和掌握 Hibernate 的高级特性和数据库操作技巧非常有帮助。...
"Hibernate-基础联表模板"是针对Hibernate中联表查询的一个实用工具,旨在帮助开发者快速地进行多表关联查询,而不必记住复杂的SQL语句。 1. **Hibernate简介** Hibernate是一种开源的ORM框架,它允许开发者将Java...
hibernate 多表查询 hibernate 多表不同于一般的sql嵌套查询,嵌套查询是不支持的,所以必须要配置好才能实现多表!只要配置好了,还是特别好用的
在Java的持久化框架Hibernate中,无主键表映射是一种特殊情况,主要处理那些在数据库中没有明确单一主键的表。这种情况通常出现在那些通过多个字段共同唯一标识一条记录的复合主键(Composite Key)场景。本文将详细...
本文将深入探讨如何在Hibernate中创建数据库表,以此来构建实际的应用。 首先,我们需要理解Hibernate的核心概念——实体(Entity)。实体是与数据库表相对应的Java类,它们通过注解或XML配置文件来定义与数据库的...
根据hibernate映射文件生成表 Configuration cfg = ( new Configuration()).configure(new File("src/hibernate.cfg.xml"));
在本教程中,我们将探讨如何利用Hibernate的注解功能,通过实体类自动生成数据库中的表。这极大地简化了数据库建模过程,同时也减少了手动编写SQL语句的工作量。 首先,我们需要理解Hibernate的核心概念。ORM框架如...
本篇我们将深入探讨如何利用Hibernate创建一张简单的表,以此来理解其核心概念和工作流程。 首先,Hibernate通过映射XML或注解配置将Java类与数据库表关联起来。在创建表的过程中,我们通常会定义一个Java实体类,...
- **步骤4**: 创建Hibernate表映射文件,将Java类与数据库表进行映射。 - **步骤5**: 使用模板调整生成更好的代码。 - **步骤6**: 使用自定义反向工程策略。 - **步骤7**: 编辑映射文件,进一步定制映射细节。 ####...
"Hibernate初之单表映射学习例子" 这个标题表明我们将探讨的是Hibernate框架在处理单个数据库表映射的基础教程。Hibernate是Java开发中一个流行的对象关系映射(ORM)工具,它允许开发者用面向对象的方式来操作...
本篇将详细讲解如何通过Hibernate配置文件自动生成数据库表,以及相关的知识点。 **一、Hibernate概述** Hibernate是Java平台上的一个开源框架,它的主要功能是提供一种映射机制,将Java类与数据库表进行对应,...
### Hibernate根据字段生成数据库表 #### 一、概述 在软件开发过程中,特别是在进行多数据库支持的应用程序开发时,我们经常需要将同一套代码部署到不同的数据库系统上。这种情况下,手动为每个数据库创建相同的表...
本文将深入探讨如何利用Hibernate的特性来实现动态生成表结构,以及如何处理表与表之间的关系。 一、Hibernate概述 Hibernate是一个开源的Java库,它的主要功能是将Java类与数据库表进行映射,使得程序员可以使用...
标题“Hibernate基础和入门:新建表和插入表”表明这篇内容将主要围绕Hibernate这一Java持久化框架的基础知识展开,重点讲解如何使用Hibernate创建数据库表以及进行数据插入操作。Hibernate是一个强大的ORM(对象...
Hibernate中对表某个字段排序,直接在配置里面实现排序功能。
**标题解析:**“hibernate实现数据库表的多种关系” 在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者用面向对象的方式处理数据库操作。本示例着重于如何利用Hibernate来实现不同...