- 浏览: 56500 次
- 性别:
- 来自: 北京
文章分类
最新评论
二。xml方式
编写具有对应属性的类
StudentIdCard.hbm.xml中对应StudentIdCard类的student属性一对一方式
Student.hbm.xml中设置Student类中studentIdCard属性包含的student属性对应关系,相当于mappedby
添加映射
编写具有对应属性的类
package org.hibernate.tutorial.domain; public class StudentIdCard { private int id; private String num; private Student student ; public Student getStudent() { return student; } public void setStudent(Student student) { this.student = student; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getNum() { return num; } public void setNum(String num) { this.num = num; } }
package org.hibernate.tutorial.domain; public class Student { private int id; private String name; private int age; private StudentIdCard studentIdCard; public StudentIdCard getStudentIdCard() { return studentIdCard; } public void setStudentIdCard(StudentIdCard studentIdCard) { this.studentIdCard = studentIdCard; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
StudentIdCard.hbm.xml中对应StudentIdCard类的student属性一对一方式
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="org.hibernate.tutorial.domain"> <class name="StudentIdCard" table="StudentIdCard"> <id name="id" column="StudentIdCard_ID"> <generator class="native"/> </id> <property name="num" type="java.lang.String" column="num"></property> <many-to-one name="student" unique="true"></many-to-one> </class> </hibernate-mapping>
Student.hbm.xml中设置Student类中studentIdCard属性包含的student属性对应关系,相当于mappedby
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="org.hibernate.tutorial.domain"> <class name="Student" table="Student"> <id name="id" column="student_ID"> <generator class="native"/> </id> <property name="name"></property> <property name="age"></property> <one-to-one name="studentIdCard" property-ref="student"></one-to-one> </class> </hibernate-mapping>
添加映射
<?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- Database connection settings --> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=utf8</property> <property name="connection.username">root</property> <property name="connection.password">admin</property> <!-- JDBC connection pool (use the built-in) --> <!--<property name="connection.pool_size">1</property>--> <!-- SQL dialect --> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <!-- Enable Hibernate's automatic session context management --> <property name="current_session_context_class">thread</property> <!-- Disable the second-level cache --> <property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property> <!-- Echo all executed SQL to stdout --> <property name="show_sql">true</property> <property name="format_sql">true</property> <!-- Drop and re-create the database schema on startup <property name="hbm2ddl.auto">update</property>--> <mapping resource="org/hibernate/tutorial/domain/Student.hbm.xml"/> <mapping resource="org/hibernate/tutorial/domain/StudentIdCard.hbm.xml"/> </session-factory> </hibernate-configuration>
发表评论
-
hibernate二级和查询缓存使用
2014-03-15 16:24 614二级缓存 一。先导入解压后hibernate-release ... -
多对多双向关联(annotation&xml)
2014-02-26 22:28 444annotation方式: 一。编写实体类,双向关联则应双方 ... -
多对多单向关联(annotation&xml)
2014-02-26 22:00 409annotation方式: 一。编写多方实体类: @Ent ... -
一对多(多对一)双向关联(annotation&xml)
2014-02-25 21:11 553annotation方式: 一、编写一方类 @Entity ... -
一对多单向关联(annotation&xml)
2014-02-25 19:03 292数据库:两张表,多方加外键 一。编写多方类 @Ent ... -
多对一单向关联(annotation&xml)
2014-02-24 20:07 436数据库:两张表,在多方加键 一、编写一方实体类 pack ... -
组件映射
2014-02-23 22:39 436组件映射:在数据库中 ... -
一对一双向外键联合主键(annotation方式)
2014-02-12 21:39 534主键类 package org.hibernate.tut ... -
一对一双向外键关联(annotation方式)
2014-02-11 20:04 383一。annotation方式 package org.hi ... -
hibernate一对一(外键)
2014-01-19 21:11 465一.编写实体 @Entity public class ... -
hibernate简单使用
2013-12-06 23:13 376一.写javaBean package org.hib ...
相关推荐
在Java的持久化框架Hibernate中,一对一双向外键关联是一种常见的关系映射方式,用于表示两个实体类之间一对一的关联关系。在这个场景下,每个实体都有一个引用指向另一个实体,形成双向关联。本篇文章将深入探讨...
总之,Hibernate的一对一双向外键关联是数据库设计中一个重要的概念,它使得Java对象和数据库记录之间的关系管理更加方便。理解并掌握这种关联方式对于开发高效、健壮的Java应用程序至关重要。通过实践和探索提供的...
总结,Hibernate的一对一唯一外键关联为开发者提供了一种方便的方式来处理两个实体之间的紧密联系。无论是在单向还是双向关联中,理解其配置、映射以及性能影响都是至关重要的。通过熟练掌握这些知识,我们能够更好...
总结,通过上述步骤,我们可以使用Hibernate的`@OneToOne`注解实现一对一唯一外键关联映射,并实现双向关联。在实际项目中,应根据业务需求选择合适的级联操作和关联维护方式,以确保数据的完整性和一致性。
在实际开发中,使用IDEA等集成开发环境可以自动生成一对一双向关联的实体类和映射文件,方便快捷。同时,通过数据库管理工具如MySQL Workbench,可以直观地查看表结构和外键约束,帮助理解一对一关联的实际效果。 ...
Hibernate是一种流行的Java持久层框架,提供了多种关联映射方式,其中一对一唯一外键关联映射是一种常见的关联方式。在本文中,我们将详细介绍Hibernate一对一唯一外键关联映射的概念、配置方法和实践应用。 一对一...
本篇将深入探讨Hibernate中的一对一唯一外键关联映射,特别是双向关联的实现。 ### 1. 一对一关联概述 一对一关联意味着一个实体只能与另一个实体的单一实例相关联,这种关系通常出现在两个表之间,其中一个表的...
通过上述步骤,我们就成功地建立了`Person`和`IdCard`之间的一对一唯一外键关联。在数据库中,`Person`表将包含一个`idcard_id`外键字段,用于引用`IdCard`表的主键。 ### 5. 注意事项 - 在一对一的关联中,`@...
**XML方式实现一对一单向外键关联** 如果选择XML配置,我们需要在`hibernate.cfg.xml`或`persistence.xml`文件中定义实体类和它们的关联。 ```xml <!-- Person实体 --> <!-- 在这里不定义一对一关联 -->...
在Java的持久化框架Hibernate中,一对一(One-to-One)关联映射是常见的关系映射方式之一,尤其在处理数据库中的唯一外键关联时。这种映射方式允许在一个实体类中引用另一个实体类的唯一实例,形成一对一的关系。在...
**标题详解:**“Hibernate教程04_关系映射之一对一单向外键关联” 在Hibernate框架中,关系映射是数据库表之间的关联在对象模型中的体现。本教程重点讲解了一对一(One-to-One)单向外键关联的实现方法。在数据库...
本篇将深入探讨在Hibernate中实现一对一唯一外键的双向关联。 **一、配置一对一关联** 在Hibernate中,一对一关联可以通过以下两种方式建立: 1. **通过主键关联(Primary Key Join)**:这种关联方式下,一方的...
双向主键关联实际上是一种特殊的一对一关联,其中两个实体类的主键相互引用,形成一个闭环。在这种关联中,Person类和IdCard类具有相同的主键,即Person的主键是IdCard的外键,反之亦然。为了实现这种关联,我们需要...
本主题将深入探讨如何使用Hibernate实现一对一双向关联关系,并通过源码解析这一过程。 一对一双向关联关系指的是两个实体类之间存在一对一的关系,且在各自的类中都可以直接访问对方。这种关联可以通过注解或XML...
本主题聚焦于“Hibernate双向一对一关联映射”的注解实现,这是一种高级的数据库设计模式,用于处理两个实体之间一对一的关系。 在Hibernate中,一对一关联映射分为单向和双向。单向一对一映射通常涉及一个实体持有...
- 在一对一双向关联中,如果两个实体都维护外键,可能会导致数据不一致,因此要谨慎处理。 总结起来,Hibernate双向一对一关联映射通过XML配置文件使得我们在Java代码中可以方便地操作数据库中的一对一关系,同时...
在数据库层面,这通常通过外键约束实现,但在一对一双向主键关联中,没有明显的外键,而是两个实体类都拥有相同的主键字段。 在" Hibernate教程07_关系映射之一对一双向主键关联"中,我们将学习如何设置这种关联。...
本文将深入探讨“hibernate 一对一双向带关联表映射”的概念及其实践,结合提供的资源"bionetoonetable"进行详细讲解。 在关系型数据库中,一对一关系是两个表之间的一种关联,其中每个记录在一张表中都对应唯一一...