/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.helloworld.entity; /** * * @author LiuQing */ public class Operation { private String id; private String opName; private UserInfo userInfo; /** * 注意 * @param argUserInfo */ public void setUserInfoRelation(UserInfo argUserInfo) { this.userInfo = argUserInfo; this.userInfo.setOperation(this); } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getOpName() { return opName; } public void setOpName(String opName) { this.opName = opName; } public UserInfo getUserInfo() { return userInfo; } public void setUserInfo(UserInfo userInfo) { this.userInfo = userInfo; } }
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.helloworld.entity; /** * * @author LiuQing */ public class UserInfo { private String id; private String name; private Operation operation; public void setOperationRelation(Operation argOperation) { this.operation = argOperation; this.operation.setUserInfo(this); } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Operation getOperation() { return operation; } public void setOperation(Operation operation) { this.operation = operation; } }
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- Generated 2011-12-31 9:56:49 by Hibernate Tools 3.2.1.GA --> <hibernate-mapping> <class name="com.helloworld.entity.Operation" table="operation"> <id name="id" type="string"> <column name="id" /> <generator class="uuid" /> </id> <property name="opName" /> <many-to-one name="userInfo" cascade="all" /> </class> </hibernate-mapping>
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- Generated 2011-12-31 9:56:49 by Hibernate Tools 3.2.1.GA --> <hibernate-mapping> <class name="com.helloworld.entity.UserInfo" table="userinfo"> <id name="id" type="string"> <column name="id" /> <generator class="uuid" /> </id> <property name="name" /> <one-to-one name="operation" cascade="all" property-ref="userInfo" /> </class> </hibernate-mapping>
第二种使用annotation
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.helloworld.entity; import java.io.Serializable; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.ManyToOne; import javax.persistence.Table; import org.hibernate.annotations.GenericGenerator; /** * * @author liuqing */ @Entity(name="userInfo") @Table(name="tb_Userinfo") public class UserInfo implements Serializable { @Id @GenericGenerator(name="idGenerator", strategy="uuid") //hibernate的注解 @GeneratedValue(generator="idGenerator") private String id; @Column private String name; /** * 也可以用OneToOne */ @ManyToOne private Operations operation; public void setOperationRelation(Operations argOperation) { this.operation = argOperation; this.operation.setUserInfo(this); } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Operations getOperation() { return operation; } public void setOperation(Operations operation) { this.operation = operation; } }
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.helloworld.entity; import java.io.Serializable; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.OneToOne; import javax.persistence.Table; import org.hibernate.annotations.GenericGenerator; @Entity(name="Operation") @Table(name="Operation") public class Operations implements Serializable { /** * 定义uuid 32位编码 */ @Id @GenericGenerator(name="idGenerator", strategy="uuid") //hibernate的注解 @GeneratedValue(generator="idGenerator") private String id; @Column private String opName; /** * 一对一 */ @OneToOne(mappedBy = "operation") private UserInfo userInfo; /** * 注意 * @param argUserInfo */ public void setUserInfoRelation(UserInfo argUserInfo) { this.userInfo = argUserInfo; this.userInfo.setOperation(this); } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getOpName() { return opName; } public void setOpName(String opName) { this.opName = opName; } public UserInfo getUserInfo() { return userInfo; } public void setUserInfo(UserInfo userInfo) { this.userInfo = userInfo; } }
//注意在后面版本中(3.2 之后) annotationConfiguration 被去掉了 //统一用Configuration config = new Configuration().configuration; //不分注解或xml配置方法 Configuration config = new AnnotationConfiguration().configure(); Session session = config.buildSessionFactory().openSession(); Transaction tx = session.beginTransaction();
相关推荐
总结,这个“Hibernate一对一实例”是一个学习和理解如何在Java应用中使用Hibernate处理一对一关系的好资源,涵盖了数据库设计、Hibernate配置以及Java编程。通过实践这个例子,开发者可以增强对ORM框架的理解,提升...
在Hibernate执行CRUD操作时,它会根据注解配置生成SQL语句。对于主键外键关联,Hibernate会自动处理外键的设置;而对于单独的外键关联,Hibernate会在保存关联对象时同步更新外键值。 四、最佳实践 选择哪种方式取...
在Java世界中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它使得开发者能够将数据库操作与业务逻辑代码...在实际开发中,根据业务需求合理配置`@OneToOne`注解,可以提高代码的可读性和数据库操作的效率。
3. **配置Hibernate**:在主配置文件(如`applicationContext.xml`)中,配置Hibernate的数据源、SessionFactory和事务管理器。使用`LocalSessionFactoryBean`来创建SessionFactory,并设置数据库连接信息。同时,...
【hibernate基本配置及使用方法】 Hibernate是一个流行的开源对象关系映射(ORM)框架,它简化了Java应用程序与关系数据库之间的交互。本教程将详细解释Hibernate的基本配置和使用步骤,帮助初学者快速掌握这一强大...
"Hibernate映射配置实例大全"是一个全面深入的资源,旨在帮助开发者理解和掌握如何有效地配置Hibernate以实现对象关系映射(ORM)。在这个文档中,我们将探讨各种关键的映射配置方法,以及相关的实例。 首先,我们...
通过这个`OneToOne-master`项目,你可以学习到如何在实际应用中配置和使用Hibernate的一对一关联。同时,也可以了解到Maven如何管理项目依赖,以及如何结合数据库进行数据操作。理解并熟练掌握这些知识,将有助于你...
本实例"spring-hibernate注解配置源码"旨在展示如何在不使用XML配置的情况下,通过注解的方式整合Struts2、Spring和Hibernate,创建一个完整的MVC(模型-视图-控制器)架构的应用。下面将详细介绍这个过程中的关键...
**标题:“Hibernate 一对一详细配置”** 在Java的持久化框架Hibernate中,一对一(One-to-One)关联映射是常见的关系映射类型之一。它用于表示两个实体之间一对一的关联关系,即一个实体对应另一个实体的唯一实例...
Hibernate支持多种关系映射,如一对一(OneToOne)、一对多(OneToMany)、多对一(ManyToOne)和多对多(ManyToMany)。通过注解或XML配置文件来定义这些关系。 ### 总结 Eclipse Hibernate的基本配置和简单实现...
在这个“Hibernate注解配置表映射实例”中,我们将深入探讨如何使用Hibernate的注解来配置实体类与数据库表之间的映射。 Hibernate注解提供了在Java类和类属性上直接定义数据库映射的能力,避免了XML配置文件的繁琐...
标题“Hibernate映射关系配置:XML方式和注解方式”涉及到的是Java持久层框架Hibernate中的一个重要概念——对象关系映射(ORM)。在这个主题中,我们将探讨如何通过XML映射文件和注解来配置Hibernate实体之间的关系...
在Hibernate中,一对一关联可以通过配置XML映射文件或者使用注解来实现。我们先来看XML映射文件的例子。假设我们有两个实体,一个是`User`,另一个是`Account`,`User`实体拥有对`Account`的引用。在`User.hbm.xml`...
1. Hibernate支持多种关系映射,如一对一(@OneToOne),一对多(@OneToMany),多对一(@ManyToOne),多对多(@ManyToMany)等,通过注解在实体类中配置。 **十、懒加载与立即加载** 1. 懒加载:关联对象只在真正...
本文将深入探讨Hibernate中的一对多、多对一、一对一以及多对多四种关系映射的配置实例,帮助开发者更好地理解和运用这些关系。 ### 一对多关系(One-to-Many) 在数据库设计中,一对多关系是最常见的一种关联,...
在Hibernate框架中,注解配置被广泛用于简化对象关系映射(ORM)的配置,使得Java Bean可以直接与数据库表进行关联。本篇文章将深入探讨如何使用注解配置Java Bean并建立Hibernate的关联关系。 首先,我们需要理解...
下面我们将详细讲解如何在Hibernate中进行一对一映射的配置。 **一、XML文件配置** 1. **主键关联(Primary Key Join)** 主键关联是最简单的一对一映射方式,两个实体类共享同一个主键。在XML配置文件中,我们...
本篇文章将深入探讨Hibernate中常见的几种关联关系及其基本配置。 一、一对一(OneToOne)关联 在一对一关联中,一个实体对象只对应数据库中的一个记录。配置方式通常通过`@OneToOne`注解实现,可以设置`mappedBy`...
**hibernate基本配置** Hibernate 是一款强大的Java持久层框架,它简化了数据库与Java对象之间的交互,使得开发者可以更加专注于业务逻辑而不必过多地处理SQL语句和数据访问细节。在本文中,我们将深入探讨...
总结来说,Struts2、Spring3.0和Hibernate3.3的全注解配置简化了代码,提高了可读性和可维护性。通过注解,我们可以快速地定义bean、映射请求、管理事务和数据库关系。这个数据库示例表明了这些技术在实际项目中的...