`

做一对多遇到的几个问题(单向)

阅读更多
java 代码
  1. public class User  implements java.io.Serializable {   
  2.   
  3.   
  4.     // Fields       
  5.   
  6.      private long id;   
  7.      private String name;   
  8.      private Set emails = new HashSet(0);  
刚开始的时候只是写private Set emails,而没有将new HashSet(0)写出来.
在测试的时候,报空指针错误.
java 代码
  1. public void testCreate(){   
  2.         Email email1 = new Email();   
  3.         email1.setEmail("lsss@163.com");   
  4.         System.out.println(email1.getEmail());   
  5.            
  6.         Email email2 = new Email();   
  7.         email2.setEmail("liddddyang@163.com");   
  8.            
  9.         User user = new User();   
  10.         user.setName("lin");   
  11.         //下面这句话报空指针的错误   
  12.         System.out.println(user.getEmails());   
  13.         user.getEmails().add(email1);   
  14.         user.getEmails().add(email2);   
  15.            
  16.         Session session = factory.openSession();   
  17.         Transaction tr = session.beginTransaction();   
  18.         session.save(user);   
  19.         tr.commit();   
  20.         session.close();   
  21.     }  
java 代码
  1.   
  2. public class Email  implements java.io.Serializable {   
  3.   
  4.   
  5.     // Fields       
  6.   
  7.      private long id;   
  8.      private String email;  

配置映射文件的时候,多的一方没什么

xml 代码
  1. <hibernate-mapping>  
  2.     <class name="org.tie.Email" table="email" catalog="tie">  
  3.         <id name="id" type="long">  
  4.             <column name="id" />  
  5.             <generator class="native" />  
  6.         </id>  
  7.         <property name="email" type="string">  
  8.             <column name="email" length="45" not-null="true" />  
  9.         </property>  
  10.     </class>  
  11. </hibernate-mapping>  
xml 代码
  1. <hibernate-mapping>  
  2.     <class name="org.tie.User" table="user" catalog="tie">  
  3.         <id name="id" type="long">  
  4.             <column name="id" />  
  5.             <generator class="native" />  
  6.         </id>  
  7.         <property name="name" type="string">  
  8.             <column name="name" length="45" not-null="true" />  
  9.         </property>  
  10.         <set name="emails" table="email" cascade="all">  
  11.             <key column="uid"></key>  
  12.             <one-to-many class="org.tie.Email"/>  
  13.         </set>  
  14.     </class>  
  15. </hibernate-mapping>  

一的一放用到Set,但是这里和值类型的Set还是不一样的.

值类型里面的set用的是element而这里是用的one-to-many,

不同于值类型的Set映射.

 

分享到:
评论

相关推荐

    基于pytorch从头实现了单向,多层,双向LSTM,给出了完整使用代码,并与torch自带的LSTM进行了对比实验

    LSTM是一种特殊的RNN,旨在解决标准RNN在处理长序列时遇到的梯度消失和梯度爆炸问题。它包含三个门:输入门、遗忘门和输出门,以及一个称为细胞状态的特殊单元,这些门控制信息如何流入、流出细胞状态,从而在处理...

    强调USB协议中的几个名词

    以下是对USB 2.0协议中几个关键名词的解释和它们在协议中的作用。 字段(Field): 字段是数据中的一小段,具有特定含义,常用于不同协议中定义数据包的组成部分。在USB 2.0协议中,字段不独立存在,而是构成更高...

    教师听课要注意的几个细节

    教师在听课的过程中,有多个需要注意的细节,这些细节不仅影响着听课的质量,也反映了教师自身的师德修养,以及对学生学习环境的影响。以下几点详细阐述了教师听课时应当注意的细节: 一、遵守课堂纪律 教师在听...

    异质ad hoc网络存在的几个问题 (2005年)

    在这篇论文中,作者通过使用仿真工具NS-2.27,提出了异质ad hoc网络中存在的几个典型问题:异质隐藏终端/暴露终端问题、单向链路问题以及不公平性问题,并针对这些问题进行了分析和探讨。 首先,关于异质隐藏终端/...

    Python实现的单向循环链表功能示例

    在单向循环链表中,有几个常用的操作,包括但不限于: - `is_empty()`:判断链表是否为空。 - `length()`:返回链表的长度。 - `travel()`:遍历链表。 - `add(item)`:在头部添加一个节点。 - `append(item)`:在...

    SymmetricDS配置手册-带实际业务应用场景

    与传统的数据同步工具相比,SymmetricDS具备以下几个显著的特点: - **跨平台支持**:可以在多种操作系统上运行,包括移动设备,支持多种数据库的同步。 - **多线程架构**:采用多线程技术进行数据抽取、迁移和并行...

    初学单片机几个不易掌握的概念_.pdf

    总线在单片机系统中扮演着极其重要的角色,它解决了多个组件间通信复杂度的问题。随着数字信号处理需求的增长,传统的点对点连接方式无法满足日益增长的数据传输需求。因此,引入总线的概念,通过共享线路来简化电路...

    WJLHashAlgorithm1.0.0.zip

    在CSDN等技术社区中,王杰林可能已经分享了更多关于这个算法的讨论和应用案例,包括如何使用它,可能遇到的问题,以及可能的优化策略。对于那些想要深入理解哈希函数设计和实现原理的人来说,这是一个宝贵的资源。 ...

    Flux Architecture

    Flux并不是一个框架,而是一组设计模式,它在解决传统MVC或其他MV*模式遇到的问题时提供了新的思路。Flux的出现与流行,对后续很多JavaScript框架的设计产生了深远影响,尤其是React框架。 Flux架构的核心概念包含...

    kaiyuzheng_interview_preparation.pdf

    根据提供的文档信息,我们可以将关键知识点分为几个主要部分:数据结构、树与图算法、动态规划、递归算法等。接下来我们将对这些知识点进行详细解释。 ### 数据结构 #### Array(数组) 数组是最基本的数据结构之...

    常用的数据结构,算法,设计模式的积累。.zip

    3. 观察者模式:定义对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都会得到通知并自动更新。 4. 装饰器模式:在不改变对象原有功能的基础上,动态地给对象添加新的行为。 5. 代理模式:...

    三对角系统并行算法的研究概况.docx

    在核物理、流体力学、油藏工程、石油地震数据处理及数值天气预报等许多领域的大规模科学工程和数值处理中都会遇到三对角系统的求解问题。很多三对角线性方程组的算法可以直接推广到求解块三对角及带状线性方程组。 ...

    SYD8811-UART1-Pass-back-20221121-113247

    解决这些问题通常涉及以下几个步骤: 1. **检查硬件连接**:确认发送和接收线没有交叉,电源和接地是否正常,电平转换(如3.3V到5V)是否正确设置。 2. **配置UART参数**:波特率、数据位、停止位、奇偶校验都需要...

    最新百度笔试面试题-对工作有帮助

    根据给定的信息,我们可以从标题、描述以及部分内容中提取出几个关键的知识点: ### 一、百度笔试面试题概述 百度作为中国领先的互联网公司之一,在技术领域有着非常高的要求。因此,其笔试和面试题目往往能够反映...

    操作系统-管道通信课程设计报告书.doc

    在课程设计中,通常会包含以下几个步骤: 1. **系统环境配置**:包括硬件环境(如Intel Core 2 Duo CPU,2GB内存)和软件环境(如Windows XP作为宿主机,VMware Workstation作为虚拟化工具,以及Red Hat Linux作为...

    串口通信232,485,422常见问题.pdf

    它的信号电平较高,不适用于长距离传输,而且只能一对一通信,不支持多点网络。 RS-422和RS-485则更加适合长距离和多点通信。它们采用差分信号传输,能有效抵抗噪声和干扰,使得数据在长距离下依然保持稳定。RS-422...

    常用液压阀的类型及出现的问题解答.doc

    选择换向阀时需考虑多个因素,包括系统的动作循环、性能要求、操纵方式、流量和压力等。滑阀的中位机能、阀的位数和通数、操纵方式(手动、机动、电动、液动或电液动)、最大流量和工作压力、最小控制压力以及连接...

    大数据背景下高校思想政治教育面临的问题与创新.pdf

    大数据对高校思想政治教育的影响主要体现在以下几个方面: 1. 创新教育理念:大数据时代的到来要求教育理念必须更新,不能再单方面地依赖传统的课堂讲授和灌输方式。大数据环境下,信息资源丰富,传统教育理念下的...

    2018211958 孙淼 计算机科学与技术18-2班1

    在基于UDP设计GBN协议的过程中,我们需要考虑以下几个关键技术点: 1. 数据帧格式:每个数据包需要包含序列号Seq,用于标识数据包的顺序,以及实际的数据内容。序列号的比特数L可以根据预期的最大并发数据包数量来...

Global site tag (gtag.js) - Google Analytics