`

Hibernate 一对一关联 映射配置

阅读更多

最近做项目,用到hibernate框架.. 项目架构为Spring2.5+Hibernate 3.32+JSF +OS Workflow 整合的一个框架..

本来是Ibatis框架做, 因为OS Workflow工作流 官方 只整合 Hibernate框架的实现,没有与ibatis框架.进行整合.

 

 

只能用Hibernate了.. 好久没用这个Hibernate了.感觉都有点生疏..

下面写一个one to one的实例来巩固一下以前学习的知识:

 

User Model 类如下:

public class User implements java.io.Serializable {
	 private Integer id;
	 private String username;
	 private String password;
	 private String email;
	 private String course;
	 private Course mycourse;
 
   // Constructors
	 public Course getMycourse(){
	     return this.mycourse;  
	 }
	 
	 public void setMycourse(Course cc){
	     this.mycourse=cc;
 	 }
 	 
 	/** default constructor */
	 public User() {
	 
	 } 
	 
	 public User(Integer id, String username, String password, String email,String course) {
		  this.id = id;
		  this.username = username;
		  this.password = password;
		  this.email = email;
		  this.course = course;
	 }
}

 

 

 Course  Model 如下:

public class Course  implements java.io.Serializable {
     private Integer id;
     private String english;
     private String math;
     private String music;
     private String jsp;
     private String java;
     private User myuser;
     
    // Constructors
    public User getMyuser() {
    	return myuser;
    }
 
	  public void setMyuser(User myuser) {
	  	this.myuser = myuser;
	  }
	 
		 public Course() {
		 
		 } 
	 //getter 和  setter方法省略.
}

 

 

接下来,就是配置Hibernate 映射文件了.

 

1.User.hbm.xml代码

<hibernate-mapping>
    <class name="pack.java.demo.User" table="user" catalog="myproject" lazy="true">
        <id name="id" type="java.lang.Integer">
            <column name="id" />
            <generator class="increment" />
        </id>
                <one-to-one name="mycourse" class="Course" 
                    fetch="join" cascade="all"  />
    </class>
</hibernate-mapping>

 

 

2.Course.hbm.xml代码如下:

<hibernate-mapping>
    <class name="pack.java.demo.Course" table="course" catalog="myproject" >
        <id name="id" type="java.lang.Integer">
            <column name="id" />
            <generator class="foreign" >
            <param name="property">myuser</param>
            </generator>
        </id>
        <property name="english" type="java.lang.String">
            <column name="english" length="24" />
        </property>
        <property name="math" type="java.lang.String">
            <column name="math" length="24" />
        </property>
        <property name="music" type="java.lang.String">
            <column name="music" length="24" />
        </property>
        <property name="jsp" type="java.lang.String">
            <column name="jsp" length="24" />
        </property>
        <property name="java" type="java.lang.String">
            <column name="java" length="24" />
        </property>     
        <one-to-one name="myuser" class="User" constrained="true"></one-to-one>
    </class>
</hibernate-mapping>

简单的一对一 映射文件就配置好了..接下来就是写方法,测试..

分享到:
评论

相关推荐

    Hibernate双向一对一关联映射(注解版)

    本主题聚焦于“Hibernate双向一对一关联映射”的注解实现,这是一种高级的数据库设计模式,用于处理两个实体之间一对一的关系。 在Hibernate中,一对一关联映射分为单向和双向。单向一对一映射通常涉及一个实体持有...

    Hibernate一对一主键关联映射(单向关联)

    需要注意的是,虽然一对一主键关联映射可以通过共享主键实现,但这也意味着如果一方被删除,另一方也会被级联删除,除非显式配置了`cascade`属性。此外,对于双向关联,需要在双方都定义`@OneToOne`注解,并通过`...

    Hibernate一对一主键关联映射(双向关联)

    标题"Hibernate一对一主键关联映射(双向关联)"中的"主键关联"指的是两个实体通过共享相同的主键来建立关联。"双向关联"则意味着在两个实体类中,都可以直接访问到对方的实例,即在实体A中有一个对实体B的引用,...

    hibernate一对一主键关联映射(单项关联)

    - **唯一性约束**:在数据库层面,为了确保一对一关联,通常需要添加唯一性约束。例如,`IdCard`表的`person_id`列应具有唯一性约束。 以上就是关于Hibernate中一对一主键关联映射(单项关联)的详细解释。通过这种...

    hibernate一对一主键关联映射(双项关联)

    虽然一对一关联提供了便利,但过度使用可能会增加数据库查询复杂性,影响性能。因此,合理设计数据模型和关联关系,结合缓存策略,才能实现高性能的持久化操作。 总结来说,Hibernate的一对一主键关联映射,尤其是...

    hibernate多对多关联映射

    在Java的持久化框架Hibernate中,多对多关联映射是一种常见的关系数据库模型映射方式,用于处理两个实体之间存在多个实例互相关联的情况。本文将深入探讨Hibernate如何实现多对多关联映射,并通过实际例子解析相关...

    hibernate关联映射详解

    包含《多对多双向关联映射》《多对一单向关联映射》《多对一双向关联映射》《一对多单向关联映射》等文档,并有图解及例子,非常适合新手学习,尤其是刚刚接触hibernate,对映射关系不清楚的。。。。

    Hibernate一对一关联映射(注解)

    ### Hibernate一对一关联映射原理 一对一关联映射是指在数据库中两个表之间存在一对一的关系,例如,一个人只有一个身份证,一个身份证也只属于一个人。在Hibernate中,我们可以通过@OneToOne注解来实现这种映射。 ...

    Hibernate一对一唯一外键关联映射(单向关联)

    在Java的持久化框架Hibernate中,一对一(One-to-One)关联映射是常见的...以上就是关于Hibernate一对一唯一外键关联映射(单向关联)的详细说明。通过这种方式,我们可以轻松地在Java应用中处理数据库的一对一关系。

    hibernate主键一对一关联映射代码示例

    本示例将深入讲解如何在Hibernate中实现主键一对一关联映射,并通过代码示例进行解析。 一对一关联意味着在一个实体中,每个实例都唯一对应另一个实体的实例。这种关联可以通过共享主键(primary key)或外键...

    hibernate双向一对多关联映射(注解版)

    在Java的持久化框架Hibernate中,双向一对多关联映射是一种常见的关系映射方式,它模拟了数据库中的外键关联,使得一个实体可以拥有多个另一个实体的实例。在这个注解版的实现中,我们将深入探讨如何使用Hibernate的...

    Hibernate一对多主键关联映射源代码

    本教程通过源代码的形式,讲解如何在Hibernate中实现一对多主键关联映射,适用于初学者学习。 首先,我们需要理解一对多关联的基本概念。在数据库中,一个表的某一列(主键)可能与另一个表的多行相关联,比如一个...

    Hibernate一对多单向关联映射

    本篇主要探讨的是如何在Hibernate中实现一对多的单向关联映射。 一、概念理解 一对多关联意味着一个实体(如部门)可以有多个关联实体(如员工),而反过来,每个员工只属于一个部门。单向关联则表示只有部门知道其...

    详解Hibernate一对一映射配置

    这里,Person和Address类共享同一主键`PERSON_ID`,表明它们一对一关联。 2. **单方外键关联(Unidirectional Foreign Key Join)** 在单方外键关联中,一个实体通过外键字段引用另一个实体。配置如下: ```xml ...

    hibernate一对一关联映射

    **标题:** Hibernate一对一关联映射 **描述:** 在Java开发中,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。一对一(OneToOne)关联映射是Hibernate提供的一种对象关系映射策略,它...

    Hibernate一对一唯一外键关联映射(双向关联)

    一、Hibernate一对一关联类型 一对一关联在现实世界中很常见,例如一个人只有一个身份证,一个身份证也只能属于一个人。在数据库设计中,这种关系通常通过主键和外键的方式实现,其中一方的主键作为另一方的外键,...

    hibernate之一对一关联映射

    本篇将详细探讨 Hibernate 之中的一对一关联映射,这是一种常见的关系数据库设计模式,在实际开发中经常被用到。 一对一关联映射在Hibernate中表示两个实体类之间存在一对一的关系,也就是说,每个实体类的对象只...

    hibernate 多对一映射关联配置

    在Java的持久化框架Hibernate中,多对一(Many-to-One)映射是一种常见的关联关系。这种关系表示在一个实体类中可以引用另一个实体类的多个实例,而在被引用的实体类中,每个实例只被一个引用实体类实例引用。本文将...

Global site tag (gtag.js) - Google Analytics