`

多对一举例(单项的,从一个方向看)

阅读更多
java 代码
  1. public class User  implements java.io.Serializable {   
  2.   
  3.   
  4.     // Fields       
  5.   
  6.      private long id;   
  7.      private String name;  

多方拥有一方的属性Email将User作为自己的属性.

java 代码
  1. public class Email  implements java.io.Serializable {   
  2.   
  3.   
  4.     // Fields       
  5.   
  6.      private long id;   
  7.      private User user;   
  8.      private String email;  

在配置文件中,一方的没啥变化.

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.     </class>  
  11. </hibernate-mapping>  

在多方需要加入many-to-one

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.         <many-to-one name="user" class="org.tie.User" fetch="select">  
  8.             <column name="uid" not-null="true" />  
  9.         </many-to-one>  
  10.         <property name="email" type="string">  
  11.             <column name="email" length="45" not-null="true" />  
  12.         </property>  
  13.     </class>  
  14. </hibernate-mapping>  

 

java 代码
  1. public void testCreate(){   
  2.         Email email1 = new Email();   
  3.         email1.setEmail("linweihan@163.com");   
  4.            
  5.         Email email2 = new Email();   
  6.         email2.setEmail("linweiyang@163.com");   
  7.            
  8.         User user = new User();   
  9.         user.setName("lin");   
  10.            
  11.         email1.setUser(user);   
  12.         email2.setUser(user);   
  13.            
  14.         Session session = factory.openSession();   
  15.         Transaction tr = session.beginTransaction();   
  16.         session.save(user);   
  17.         session.save(email1);   
  18.         session.save(email2);   
  19.         tr.commit();   
  20.         session.close();   
  21.     }   
  22.        
  23.        
  24.     public void testRetrieve(){   
  25.         Session session = factory.openSession();   
  26.         Email email = (Email)session.load(Email.classnew Long(1));   
  27.         System.out.println(email.getUser().getName());   
  28.         session.close();   
  29.     }  
分享到:
评论
1 楼 terryyang 2007-12-22  
当把User删掉之后,再加载Email时,就会报异常,因为引用的user已经不存在了,当然可以设置Email中User的not-found="ignore",但这样当加载Email时都要多发生一条sql去查询看是否对应的user还存在,如果一个实体中有多个这样的字段,性能很差,不知道你是如何解决的

相关推荐

    初二数学(下册)知识点归纳.doc

    3. 提公因式法的应用:通过举例展示了如何提取公因式,并强调了因式分解的最终结果必须是积的形式,公因式可能是单项式或多项式。 这份文档旨在帮助学生理解和掌握初二下册数学中的核心不等式和因式分解概念,通过...

    初一数学下册知识点归纳.doc

    4. **二元一次方程组的解法**:常用方法包括代入消元法(将一个方程中的未知数表示为另一个方程的表达式并代入)和加减消元法(通过加减消去一个未知数)。解题关键是选择最简便的方法。 **一次方程组的应用** 5. *...

    初中数学总复习提纲全初中.doc

    单项式是最基本的整式,由一个或多个字母与常数的乘积组成,多项式则是由两个或更多单项式的和或差构成。 #### 2. 单项式与多项式 单项式的系数是指数字部分,指数表示字母的幂。多项式是由若干个单项式加减组成的...

    学择题解体策略.doc

    首先,我们来看看单项选择题。单项选择题作为一种基础题型,其题型特点在于它主要测试学生的记忆力、理解力及区分能力。学生不仅需要记住相关知识,还必须理解并区分知识之间的细微差异。因此,学习者在面对单项选择...

    中考政治 解题技巧教案 人教新课标版.doc

    通常,题干会是一个不完整的陈述,考生需要根据题干内容,从四个选项中找出唯一正确答案。在解题时,首先要仔细阅读题目,找出关键信息,这一步是解题的基础。其次,根据题干中的关键词进行知识的回忆,明确记忆中的...

    初中政治答题技巧推荐.docx

    单项选择题由题干和选项组成,其中题干通常提供一个不完整的陈述或提出一个问题,而选项则是对该问题的回答。 **解题思路与方法:** 1. **审题**:仔细阅读题干,找出关键词,并尝试将选择题转化为简答题的形式来...

    上海市浦东新区第四教育署2015_2016学年七年级数学上学期期中质量抽测试题沪科版五四制.doc

    最后一题通过对字母代替大数值的举例,展示了数学在简化复杂问题中的实际应用,体现了数学在解决实际问题时的价值和意义。 这份试卷的总体设计充分体现了对学生代数知识掌握程度的深入考察,不仅检验了学生对基础...

    2021届江苏省扬州市高三下物理第一次调研测试试题.docx

    以上是对部分物理试题的详细解析,涉及了热力学、气体状态方程、核物理、声波传播、力学平衡、天体运动、电场和磁场、动力学等多个物理领域的知识点。这些题目旨在测试学生对高中物理核心概念的理解和应用能力。

    仁爱英语七年级上期末试卷及答案.DOC

    - 单项选择:涵盖语法、词汇、句型等方面,如问物体是什么、颜色、所有者等,同时测试学生对疑问词的使用(What, What color, Whose)和代词的使用(you, yours, it, its, him)。 - 可能涉及的语法点:肯定与否定...

    中考政治答题技巧(完整版).docx

    题干通常包含一个不完整的陈述,要求考生从四个选项中选出唯一正确的答案。 2. **解题步骤**: - **审题**:仔细阅读题干,找出关键词,将其转化为简答题的形式。 - **忆知**:根据关键词回忆相关知识,锁定正确...

    重要:人教版思想品德政治初中全册知识点总结.doc

    - "感悟、感想、启示":从理论出发,探讨事件带来的教训或意义。 - "道理":解释问题的成因和结论。 - "重要性、必要性":强调事物的价值、地位和紧迫性。 - "主要目的":阐明行动或决策的动机和意义。 - "为...

    物理八年级人教新课标下期末试卷.doc

    试卷内容涉及多个物理知识点: 1. 单位换算:这里涉及到电阻和电压的单位转换,mΩ到kΩ,kV到V。 2. 导体和绝缘体:列举了多种物质并要求区分哪些是导体,哪些是绝缘体。 3. 电流的效应:电热效应(切割泡沫塑料的...

    [计算机硬件及网络]专业音响设备介绍(“话筒”相关文档)共48张.pptx

    为解决这一问题,专业音响系统通常包含反馈抑制器,并采用分频技术将信号分成多个频段,确保扬声器在最佳频率范围内工作,提高声音再现的保真度。 此外,调音台在系统中起到关键作用,例如24路4编组调音台,可以...

    2021高考政治 秒杀必备 选择题的答题要求和技巧.doc

    高考政治选择题是考生们必须掌握的一种题型,它对基础知识的掌握程度和分析能力有着较高的要求。以下是对这种题型的详细解答要求和技巧: 1. **解题基本要求** - **扎实的基础知识**:考生需要对高考大纲中的知识...

    朝天事业编招聘2016年考试真题及答案解析最全版.docx

    - **投机行为也导致全球金属价格提高**:文中提到金属是投资基金转向的第一个领域,因此投机行为确实可能推高金属价格。 ### 知识点六:心理学概念:知觉防御 - **定义**:指个体倾向于观察对自己有利的信息,而...

    建模应用技术书后习题汇总.docx

    例如,如果有一款门族,它可以有不同的类型(宽度不同),当这个门放置在项目中时,每一个门就是该族的一个实例。 2. **题目:** 请分别简述Revit修改面板中包含的基本命令及其用法,至少五个命令。 - **答案:** ...

    八年级下学期期中统考试题.doc

    综上所述,这份试题覆盖了英语学科的基础语法、词汇运用、听力理解和阅读理解等多个方面,旨在全面评估学生的英语综合水平。通过对这些题目的解答,不仅能够帮助学生巩固所学知识,还能有效提升其语言应用能力。

    数控技术考试题及参考答案 (何雪明).doc

    8. **插补算法**:直线插补举例中,采用逐点比较法,当终点减法计数器JE减到0时,表示插补结束。 9. **数控系统组件**:包括控制介质、数控装置、伺服系统、测量装置和机械本体,协同工作完成加工任务。 10. **CNC...

    2018备战中考.ppt

    - 第一层要求:涉及简单的信息提取、回忆和描述,如识别、举例、列举、描述等。 - 第二层要求:涉及解释、说明、归纳和分析,如解释地理现象、说明地理要素间的联系等。 - 第三层要求:要求学生能运用所学解决...

Global site tag (gtag.js) - Google Analytics