`
newleague
  • 浏览: 1509575 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

hibernate实例简析-hibernate_one2one_pk_3

阅读更多
hibernate一对一主键关联映射(单向关联Person---->IdCard)

一对一主键关联映射:让两个实体对象的id保持相同,这样可以避免多余的字段被创建

具体映射:

<id name="id">
<!-- person的主键来源idCard,也就是共享idCard的主键 -->
<generator class="foreign">
<param name="property">idCard</param>
</generator>
</id>
<property name="name"/>
<!-- one-to-one标签的含义,指示hibernate怎么加载它的关联对象,默认根据主键加载,
constrained="true", 表明当前主键上存在一个约束,person的主键作为外键参照了idCard
-->
<one-to-one name="idCard" constrained="true"/>
===
IdCard idCard = new IdCard();
idCard.setCardNo("88888888888888");

Person person = new Person();
person.setName("菜10");
person.setIdCard(idCard);

//不会出现TransientObjectException异常
//因为一对一主键关联映射中,默认了cascade属性
session.save(person);
---
Person person = (Person)session.load(Person.class, 1);
System.out.println("person.name=" + person.getName());
System.out.println("idCard.cardNo=" + person.getIdCard().getCardNo

());
===
<hibernate-mapping>
<class name="com.bjsxt.hibernate.IdCard" table="t_idcard">
<id name="id">
<generator class="native"/>
</id>
<property name="cardNo"/>
</class>
</hibernate-mapping>
---
<hibernate-mapping>
<class name="com.bjsxt.hibernate.Person" table="t_person">
<id name="id">
<generator class="foreign">
<param name="property">idCard</param>
</generator>
</id>
<property name="name"/>
<one-to-one name="idCard" constrained="true"/>
</class>
</hibernate-mapping>
===
public class Person {

private int id;

private String name;

private IdCard idCard;
---
public class IdCard {

private int id;

private String cardNo;
分享到:
评论

相关推荐

    hibernate-cglib-repack-2.1_3.jar

    hibernate-cglib-repack-2.1_3.jar

    hibernatetools-Update-4.1.1.Final_2013-12-08_01-06-33-B605.zip

    2. **HQL/SQL编辑器**:提供语法高亮和智能提示,支持HQL(Hibernate Query Language)和SQL的编写与调试。 3. **数据库连接管理**:方便地创建、编辑和测试数据库连接,支持多种数据库类型。 4. **逆向工程**:...

    hibernatetools-Update-4.1.1.Final_2013-12-08_01-06-33-B605

    《Hibernate Tools更新4.1.1.Final版详解与应用》 Hibernate Tools是开发者在使用Hibernate框架进行Java应用程序开发时的重要辅助工具,它为Eclipse IDE提供了强大的集成支持,包括对象关系映射(ORM)的可视化设计...

    struts-spring-hibernate-_-integration-2.zip

    struts-spring-hibernate-_-integration-2.zip

    hibernate-cglib-repack-2.1_3.jar.zip

    《深入理解Hibernate-CGLIB-2.1_3在Java开发中的应用》 在Java开发领域,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。而CGLIB则是一个代码生成库,它允许开发者在运行时动态创建子类...

    (jar包)struts-2.3.3____hibernate4.1.6____spring-3.1.2

    (jar包)struts-2.3.3____hibernate4.1.6____spring-3.1.2 (jar包)struts-2.3.3____hibernate4.1.6____spring-3.1.2

    GBase_Hibernate3.2.3_GA-Dialect_8.3.81.51_build50.1.jar

    南大通用GBase数据库GBase_Hibernate3.2.3_GA-Dialect_8.3.81.51_build50.1.jar

    hibernate-configuration-3.0.dtd、hibernate-mapping-3.0.dtd

    《深入理解Hibernate配置与映射:hibernate-configuration-3.0.dtd与hibernate-mapping-3.0.dtd解析》 在Java世界里,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。而`hibernate-...

    springboot-hibernate-strruts2_springboot_struts2_hibernate_整合_源码

    这个名为"springboot-hibernate-strruts2_springboot_struts2_hibernate_整合_源码"的压缩包文件,显然包含了将Spring Boot与Struts2和Hibernate整合的示例代码或项目模板。下面我们将详细讨论如何进行这种整合以及...

    hibernate-3.2.6-src_b.rar

    本文将深入探讨`hibernate-3.2.6-src_b.rar`和`hibernate-3.2.6-src_a.rar`的合并使用,并分析其内部核心模块。 一、Hibernate概述 Hibernate是一个开源的ORM框架,它通过映射Java类到数据库表,实现了对象和关系...

    hibernate-3.2.6-bin_a.rar

    hibernate-3.2.6-bin_a.rar 与 hibernate-3.2.6-bin_b.rar合并使用

    hibernate-release-5.0.7.Final.zip

    hibernate-release-5.0.7.Final压缩包 -document -lib -project 内部Hibernate依赖库: antlr-2.7.7.jar dom4j-1.6.1.jar geronimo-jta_1.1_spec-1.1.1.jar hibernate-commons-annotations-5.0.1.Final.jar ...

    hibernate-2.1.8-all-bin_b.rar

    既然提到"hibernate-2.1.8-all-bin_b.rar"与"hibernate-2.1.8-all-bin_a.rar"合并使用,很可能是为了提供更完整或互补的功能。这两个压缩包可能分别包含了不同的配置、示例或库文件,合并后能提供更全面的学习和开发...

    hibernate-3.2.6-bin_b.rar

    首先,"hibernate-3.2.6-bin_b.rar"是一个与"hibernate-3.2.6-bin_a.rar"合并使用的压缩包,这意味着它可能包含了上一版本的补充或更新内容,这在软件开发中是常见的做法,以提供更多的功能或者修复已知问题。...

    hibernate-jpa-2.1-api-1.0.0.final-sources.jar

    hibernate-jpa-2.1-api-1.0.0.final-sources.jar 源码 hibernate-jpa-2.1-api-1.0.0.final-sources.jar 源码

    hibernate-distribution-3.3.1.GA

    很多人为了配置jpa找这个动态产生字节码的jar文件,hibernate-distribution-3.3.1.GA包太大,而hibernate-distribution-3.3.2.GA的jar没有这个jar文件,希望对大家有用

    hibernate-validator-5.0.0.CR2-dist.zip

    使用hibernate-validator 进行校验的jar包,里面包括了基础hibernate-validator-5.0.0.CR2.jar hibernate-validator-annotation-processor-5.0.0.CR2.jar 之外,还包括了el-api-2.2.jar javax.el-2.2.4等项目必不可...

    hibernate-2.1.8-all-bin_a.rar

    本资料包“hibernate-2.1.8-all-bin_a.rar”与“hibernate-2.1.8-all-bin_b.rar”的合并使用,将带领我们全面探索Hibernate 2.1.8的核心功能和内部机制。 首先,"build.bat"文件是Windows环境下的构建脚本,通常...

Global site tag (gtag.js) - Google Analytics