`

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

阅读更多
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映射.

 

分享到:
评论

相关推荐

    超级有影响力霸气的Java面试题大全文档

    创建了几个String Object? 两个 31、EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?  SessionBean: Stateless Session Bean 的生命周期是由容器决定的,当客户机发出请求要建立一个...

    计算机网络习题

    2 IP电话端到端的时延是由哪几个因素造成的? (第十一章 计算机网络热门课题 知识点 IP电话 ) 答案: 1 话音信号进行模数转换要经受时延。 2 已经数字化的话音比特流要积累到一定的数量才能够装配成一个话音...

    java 面试题 总结

    创建了几个String Object? 两个 28、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。 public class ThreadTest1{ ...

    汽车驾驶教程图解

    降档时应注意以下三个问题:  ①空转  离合器不到位或尚未到位会引起空转。空转不仅引起噪声,而且对汽车发动机也有一定的损伤。  ②剧烈抖动  汽车降档过快,会引起剧烈抖动。  ③发动机熄火  加速踏板踩得过...

    防抱死制动系统与驱动防滑控制

    TRC与ABS共用车轮转速传感器和ECU,并在通往驱动车轮的制动管路上增设一个TRC制动压力调节装置,在由加速踏板控制主节气门上方增设一个由步进电机控制的副节气门,并在主、副节气门处设置一个节气门开度传感器,以...

    毕业设计:高保真音响设计制作(原理图+PCB)-电路方案

    在论文的后面部分,着重的讲述了制作和调试中遇到的软件、硬件上的问题以及如何解决,并给出了高保真音频放大器性能指标的国家标准测量方法。这些可以成为大家制作过程中的一些的提示以及测试的依据。 方案阐述: 一...

    程控交换实验、用户模块电路 主要完成BORSCHT七种功能,它由下列电路组成:

    按一次该键则显示下一个时间值,三个值循环显示,当按下“确认”键时,就选定当前显示值供系统使用,按“复位”键则清除该次时间的设定。 “会议电话”: 该键为召开电话会议的按键。电话会议设置用户1为主叫方,...

Global site tag (gtag.js) - Google Analytics