`
zcz123
  • 浏览: 159112 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类

一对一

阅读更多

一对一单向

定义两个类,两个映射文件一个工具类生成表

public class Group {
	
	private int id;	
	private String name;
                //这里省略setter,getter方法
}

 

public class User{
     private int id;
     private String name;
     private Group group;
      //这里省略setter,getter方法
}

 

	<class name="many2one.User" table="t_user">
		<id name="id">
			<generator class="native"/>
		</id>
		<property name="name"/>	
		<!-- 无连接表 -->	
		 <many-to-one name="group" column="groupid" unique="true" not-null="true"/>
		 <!-- 有连接表 
		<join table="User_Group" optional="true">
			<key column="userid" unique="true"/>
			<many-to-one name="group" class="many2one.Group" column="groupid" unique="true" not-null="true" />			
		</join>	 -->
	</class>

 

	<class name="many2one.Group" table="t_group">
		<id name="id">
			<generator class="native"/>
		</id>
		<property name="name"/>
	</class>

 

	public static void main(String[] args) {
		//读取hibernate.cfg.xml文件
		Configuration cfg = new Configuration().configure();
		SchemaExport export = new SchemaExport(cfg);
		export.create(true, true);
	}

 一对一双向

在原来的基础上,添加如下的两个配置

private User user;

 

<!-- 一对多双向 -->
<one-to-one name="user" property-ref="group" />

 

基于主键的一对一

两个实体类,两个映射文件

public class Person {
	
	private int id;
	private Address address;
                //setter,getter
}

 

public class Address {
	
	private int id;
	private Person person;
                //setter,getter方法
}

 

	<class name="Person" table="Person">	
		<id name="id" column="personId">            
            <generator class="native" />
        </id>
		<one-to-one name="address" />		
	</class>

 

	<class name="Address" table="Address">	
		<id name="id" column="personId">       
            <generator class="foreign">
            	<param name="property">person</param>
            </generator>
        </id>
		<one-to-one name="person" constrained="true" />	
	</class>

 

分享到:
评论

相关推荐

    nRF24L01无线模块实现一对一、一对多、多对一收发程序

    《nRF24L01无线模块:一对一、一对多、多对一收发程序详解》 在无线通信领域,nRF24L01是一款广泛应用的2.4GHz射频收发芯片,以其低成本、低功耗和高集成度的特点受到了广泛的欢迎。本文将深入探讨如何使用nRF24L01...

    JAVA语音聊天一对一音频信号传输

    【Java语音聊天一对一音频信号传输】的实现涉及多个关键技术点,包括网络连接的建立、音频信号的采集与回放、音频数据的编码与解码。以下是对这些知识点的详细阐述: 1. **网络连接的建立** 在Java中,TCP/IP协议...

    .Net MVC5下SignalR简单web即时聊天小程度

    SignalR是一个开源库,主要用于.NET开发者,它简化了在ASP.NET应用程序中构建实时、双向通信功能的过程。在这个标题中,我们聚焦的是在.Net MVC5框架下利用SignalR构建一个简单的Web即时聊天应用程序。MVC5是微软的...

    socket 一个服务器对应多个客户端使用多线程

    在标题"socket 一个服务器对应多个客户端使用多线程"中,提到的是使用Socket编程来设计一个服务器,该服务器能够同时处理来自多个客户端的连接请求,这通常被称为“一对一”或“一对多”模型。在Linux环境下,这种...

    hibernate3.3.2中文帮助文档

    9. **集合映射**:Hibernate支持多种类型的集合映射,如List、Set、Map等,以及一对一、一对多、多对多的关联关系映射。 10. **缓存机制**:Hibernate提供了一级缓存和二级缓存,可以提高数据读取速度并减少数据库...

    SSM框架下的一对多和多对一查询

    在SSM框架下实现一对多和多对一查询是常见的数据操作需求。 一对多关系指的是一个实体可以拥有多个关联的实体,比如一个学生可以有多个课程,多对一则是反过来,多个实体对应一个实体,例如多个学生可以对应一个班...

    数据库课程设计 图书管理系统

    例如,一个作者可以写多本书(一对多),一本书可以由多个作者共同创作(多对多),一个读者可以借阅多本图书(一对多),而一本书在同一时间只能被一位读者借阅(一对一)。 在数据库设计中,还需要考虑数据的一致...

    Expert one on one J2EE development without EJB.pdf

    ### 《一对一专家指导:无需EJB的J2EE开发》关键知识点解析 #### 一、背景介绍 在Java企业级应用开发领域中,EJB(Enterprise JavaBeans)曾被视为构建复杂分布式系统的标准方法之一。然而,随着技术的发展与实践中...

    hibernate-3.2.6

    9. **集合映射**:包括List、Set、Map等多种Java集合类型与数据库表的关联映射,支持一对一、一对多、多对一和多对多关系。 10. **事件监听器**:Hibernate 3.2.6允许开发者注册监听器,对对象的生命周期事件(如...

    E-R图实例及问答.rar

    E-R图会展示这些关系的类型(一对一、一对多、多对多)以及关系的约束条件。 E-R图在设计数据库时起着至关重要的作用,因为它帮助设计师可视化数据结构,从而更好地理解数据如何组织和交互。在“e-r.doc”文档中,...

    MVC_EF框架_Bootstrap示例

    提供实体设计:一对一,一对多,多对多,自引用的各种使用场景 业务逻辑层(BLL): 实现CURD方法 提供复杂查询场景 提供业务异常抛出 对后端异常进行拦截写日志 对写操作进行写历史,用于追踪 IBLL: 服务接口,可...

    北京精雕 JDPaint 5.21.0.1028 旗舰版 (免狗版)

    2. 【纯净】 不含任何他人使用所产生的临时文件,一对一的100%纯净 3. 【稳定】 稳定性,只能说不比有狗版差一丝一毫,因为精雕本身就并不完美 4. 【急速启动】 程序启动速度 :1秒 (空文件) 5. 【便捷】 随时随地...

    Android中的XMPP应用

    - **消息发送与接收**:包括一对一聊天、群聊等多种方式。 - **用户状态管理**:通过设置不同的在线状态(如在线、离线、忙碌等)来展示用户的可用性。 ##### 2.2 示例代码分析 为了更好地理解如何在Android应用中...

    SURF算法代码 matlab

    2. **匹配策略**:可以采用一对一匹配、最近邻匹配或者双向匹配等策略,以确保匹配的稳定性。 3. **去除误匹配**:为了消除非对应匹配,通常会设置一个阈值,将距离超过阈值的匹配对剔除,或者使用RANSAC(Random ...

    mybatis-3.4.1(含源码).zip

    5. **结果集映射**:通过配置文件,MyBatis可以将查询结果自动映射到Java对象,包括一对一、一对多、多对一等复杂关系的映射。 6. **缓存**:MyBatis内置了两级缓存,一级缓存是SqlSession级别的,二级缓存是Mapper...

    libsvm32位64位

    4. **多分类**:除了基本的二分类,LibSVM还支持多分类任务,如一对一(one-vs-one)和一对多(one-vs-rest)策略。 5. **训练与预测**:LibSVM库包含了训练SVM模型和使用模型进行预测的接口,方便用户集成到自己的...

    Hibernate3的依赖包

    8. **关联映射**:Hibernate支持一对一、一对多、多对一、多对多等各种关联关系的映射,方便地处理复杂的数据库关系。 9. **事件监听器**:通过事件监听机制,开发者可以在特定操作(如对象的保存、更新或删除)...

    Biokey SDK U.are.U 4000B 中控科技

    3. **指纹匹配**:基于特定的指纹特征提取和比对算法,进行一对一和一对多的指纹比对。 4. **安全性**:提供加密和解密功能,确保指纹数据的安全存储和传输。 5. **用户界面集成**:提供API接口,方便将指纹识别功能...

    alibaba-rocketmq-3.1.3

    点对点模式则更适用于一对一的消息传递,每个消息仅被一个消费者消费。 RocketMQ还具有强大的管理工具,包括监控、日志分析、性能测试等功能,帮助运维人员实时监控系统状态,及时发现和解决问题。在3.1.3版本中,...

    PowerDesigner15建模文件例子

    2. **设置关系**:连接实体,定义它们之间的关联,如一对一、一对多或多对多关系。 3. **转换为PDM**:根据目标数据库系统(如Oracle、SQL Server等),将CDM转换为PDM,考虑数据库的最佳实践和优化。 4. **优化和...

Global site tag (gtag.js) - Google Analytics