在项目开发中,必然会遇到数据持久化的问题。在关系模型中有一对一,一对多,多对一,多对多集中模型;下面就这几种模型在Hibernate中是如何实现的,做一个简单的记录:
首先是一对一模型,
在这个模型中,每个学生拥有一张图书证,一个图书证也只能对应一个学生,而图书证是不能独立存在的。那么student的PK是id,library_card的PK,FK id是依赖与student的PK的。
下面是两个类的类图以及如何配置他们的映射文件
Student的映射文件:
<?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 package="domain">
<class name="Person" table="person">
<id name="id">
<generator class="native" />//这里的id是自增长的
</id>
<property name="name"></property>
<property name="name"></property>
<one-to-one name="LibraryCard"></one-to-one></class></hibernate-mapping>
LibraryCard映射文件:
<?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 package="domain">
<class name="LibraryCard" table="library_card">
<id name="id">
<generator class="foreign" > //这里的id是更具外键获得的,从自己的属性student中获得
<param name="property">student</param>
</generator>
</id>
<property name="status"></property>
<one-to-one name="student" constrained="true"></one-to-one>
</class>
</hibernate-mapping>
<one-to-one name="student" constrained="true"></one-to-one>
constrained的作用是在表结构上加入外键约束,如果不加是数据对象上是没有影响的。
分享到:
相关推荐
通过学习和实践Hibernate的一对多和多对一映射,你可以更高效地管理数据库中的复杂关系,使得数据操作更加便捷。在实际项目中,根据业务需求灵活运用这些映射策略,可以极大地提高开发效率和代码的可维护性。
而MyEclipse作为一款强大的Java集成开发环境,提供了对Hibernate的良好支持,包括自动生成Hibernate映射文件的功能。本文将详细介绍如何在MyEclipse中创建和使用Hibernate映射文件。 首先,理解Hibernate映射文件...
本文将深入探讨Hibernate中的多对一映射关联配置,并结合具体的文档心得进行讲解。 首先,我们要了解多对一映射的基本概念。在数据库设计中,如果一个表(实体A)的某一列是另一个表(实体B)的主键,那么就存在...
在实际开发中,Hibernate映射文件通常包含以下元素: 1. **实体类(Entity)**:代表数据库中的一个表,用Java类表示。 2. **标识符(Identifier)**:用于唯一标识实体的对象,对应表的主键。 3. **属性...
在提供的压缩包`TestHiberOnetoOne`中,可能包含了使用Eclipse创建的Hibernate一对一映射关系的项目源码。你可以通过运行这个项目来更直观地理解一对一映射的工作原理,包括实体类的定义、配置文件的编写以及如何在...
本教程将深入讲解如何根据数据库表自动生成实体类、Hibernate配置文件以及实体映射文件。 首先,我们需要了解Hibernate的基本概念。Hibernate提供了一个在Java应用中使用的持久化模型,它允许开发者用面向对象的...
hibernate映射文件是Java开发中用于对象关系映射(ORM)的重要组成部分,它将数据库表与Java类之间的关系进行定义,使得开发者无需编写大量的SQL语句,就能实现对数据库的操作。`生成hibernate映射文件工具`是为了...
在这个实例中,我们将深入探讨Hibernate一对一主键映射的概念、配置以及如何通过源代码和测试程序进行实践。 1. **一对一关系理解**: 一对一关系指的是一个实体类中的记录对应另一个实体类中的唯一一条记录。例如...
映射文件是Hibernate中的关键元素,它定义了Java实体类与数据库表之间的对应关系。本主题将深入探讨如何根据Java实体类自动生成Hibernate的映射文件,这对于不使用MyEclipse等集成开发环境的开发者来说尤其实用。 ...
**标题:Hibernate一对一外键映射** 在关系型数据库中,一对一(One-to-One)关联是一种常见的关系,它表示两个实体之间存在着唯一的关系。Hibernate,作为Java领域中的一个流行的ORM(对象关系映射)框架,提供了...
本文将深入探讨Hibernate的配置文件和类映射文件的常用写法,帮助开发者更好地理解和应用Hibernate。 首先,我们来看`Hibernate.cfg.xml`配置文件,它是Hibernate应用的核心配置,包含了数据库连接、方言、自动建表...
"hibernate一对一映射"是Hibernate中的一个重要概念,它用于表示两个实体类之间一对一的关系。这种关系意味着在一个实体类中,每个实例都唯一对应另一个实体类的单个实例。 一对一映射有以下几种实现方式: 1. **...
5. **配置Hibernate映射文件**:虽然在JPA中可以直接使用注解进行配置,但在一些情况下,你可能还需要为每个实体创建对应的Hibernate XML映射文件,以进一步自定义映射细节。 6. **数据操作**:在实际应用中,你...
而MyEclipse作为一款集成开发环境,提供了对Hibernate的全面支持,包括自动生成Hibernate的映射文件。这个功能使得开发者能够快速地将数据库表结构转化为Java实体类和对应的配置文件,大大提高了开发效率。 1. **...
--指定 Hibernate 映射文件路径 --> <mapping resource="com/Hibernate/test_products.hbm.xml" /> </hibernate-configuration> ``` 在该文件中,我们可以看到有多个关键的配置项: * `connection.username`:...
在本篇关于“在 Hibernate 中实现复杂的数据映射”的文章中,我们将深入探讨如何使用 Hibernate 框架处理不同类型的关联关系,包括一对一、一对多和多对多。这些关系在数据库设计中十分常见,而 Hibernate 提供了...
在本文中,我们将深入探讨Hibernate配置文件中的映射元素,这些元素是将对象关系映射到数据库的关键部分。首先,我们需要了解映射文件的基本结构,它通常是一个XML文档,遵循特定的DTD(文档类型定义)。 `...
**Hibernate一对一映射详解** 在Java的持久化框架中,Hibernate是备受青睐的一员,它提供了一种方便的方式来处理对象与数据库之间的映射关系。本文将深入探讨Hibernate中的一对一映射,帮助开发者理解并掌握这种...
- **一对一映射**:使用`<many-to-one>`元素表示,如`<many-to-one name="friend" column="friend_id" update="false"/>`。 - **一对多映射**:使用`<set>`元素配合`<one-to-many>`元素表示,例如: ```xml ``...