`
zcz123
  • 浏览: 159903 次
  • 性别: 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>

 

分享到:
评论

相关推荐

    Mybatis实现关联查询一对一和一对多实现

    Mybatis实现关联查询一对一和一对多实现,具体效果看博文 http://blog.csdn.net/evankaka/article/details/45674101

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

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

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

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

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

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

    SVM(支持向量机)实现数据的三分类

    对于三分类问题,SVM通常采用一对一或者一对一的策略。一对一策略是将每一个类别与其他两个类别分别构建两个二分类SVM,最后通过比较三个分类结果来决定样本属于哪个类别。而一对多策略则是先用一个二分类SVM将数据...

    hibernate3.3.2中文帮助文档

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

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

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

    多媒体流协议(RTMP) 中文版

    和RTMP一起适用于多样性音视频应用程序,从一对一和一对多向视频点播服务器直接广播到交互式会议应用程序。 当用到实时传输协议就像TCP,RTMP消息块流提供可靠地规则时间戳的端到端全信息传送。穿过多层流,RTMP消息...

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

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

    机器学习 第七讲:Support Vector Machines 1

    一对一方法是指为每一对类别训练一个分类器,而一对剩余方法则是指为每一个类别训练一个分类器,该分类器将该类别与其他所有类别分开。在一些特定的情况下,还会用到结构化SVM(structured SVM),它能够处理复杂...

    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”文档中,...

    画数据库ER图的工具

    在ER图中,可以标注键、主键、外键以及各种关系的类型,如一对一、一对多、多对多等。 3. **ER图绘制工具的功能**: - **图形化界面**:提供直观易用的拖放功能,方便用户创建和编辑实体、属性和关系。 - **自动...

    MVC_EF框架_Bootstrap示例

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

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

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

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

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

    Android中的XMPP应用

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

    XMPP协议的IM客户端IMPanda

    协议允许用户进行一对一和多对多的交互,支持丰富的数据格式,包括文本、图片、文件等。此外,XMPP还提供了实时的在线状态显示,使用户能够了解联系人的在线状态。 IMPanda的当前功能包括基本的消息发送,意味着...

    mybatis-3.4.1(含源码).zip

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

Global site tag (gtag.js) - Google Analytics