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

    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将数据...

    svm多分类的java源码

    在这个Java源码中,开发者可能实现了一种策略来解决多类别的问题,比如一对一(one-vs-one)或一对一(one-vs-rest)方法。 一对一方法是将多分类问题转化为多个二分类问题,每个类别与其它所有类别进行对比,然后...

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

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

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

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

    libsvm 程序集数据集

    5. **一对多分类**: 对于多分类问题,libsvm采用了一对一或一对多的方法,即将每个类与其他类分别进行二分类。 6. **预测与决策函数**: 训练完成后,libsvm可以生成决策函数,对新样本进行预测,判断其属于哪一类。...

    E-R图实例及问答.rar

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

    dhcp源代码(客户/服务器端)

    换而言之,BOOTP 非常缺乏 "动态性" ,若在有限的 IP 资源环境中,BOOTP 的一对一对应会造成非常严重的资源浪费。 DHCP 可以说是 BOOTP 的增强版本,它分为两个部份:一个是服务器端,而另一个是客户端。所有的 IP ...

    MVC_EF框架_Bootstrap示例

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

    Android中的XMPP应用

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

    局域网通讯软件源代码

    1. **点对点聊天**:意味着用户可以直接与其他用户进行一对一的私密对话,无需通过中央服务器作为中介。 2. **组群聊天**:允许用户创建和加入群组,方便多用户同时参与的讨论。 3. **文件传输**:软件支持文件共享...

    XMPP协议的IM客户端IMPanda

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

    C#的Demo项目:RabbitMQ封装和使用

    在C#项目中,可以创建一个DirectExchange类,设置路由键和队列绑定,实现一对一的消息传递。 2. **Fanout Exchange**(扇出交换机):不考虑路由键,它会把所有到达的消息广播到所有绑定的队列。这种模式适合一对多...

    mybatis-3.4.1(含源码).zip

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

    Free Virtual Serial Ports Emulator(免费的虚拟串口工具)

    它可以是一对一、一对多甚至多对多的连接模式,满足各种复杂的通信场景。 2. **实时通信**:虚拟串口间的通信是实时的,数据传输不受任何限制,确保了软件测试的真实性和可靠性。 3. **可编程性**:VSPE 提供API...

Global site tag (gtag.js) - Google Analytics