`
ninebirds
  • 浏览: 79490 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

hibernate 一对一 多对多的关系

阅读更多

public interface OperateInterface {

 public Session session=null;
 public void save (Object object);
 public void update (Object object);
 public void delete (Object object);
}

public class Operater implements OperateInterface {

 public Session session=null;
 
 
 public Operater (){
  Configuration config =new Configuration().configure ();
  SessionFactory factory=config.buildSessionFactory();
  this.session=factory.openSession();
  
 }

 public void save(Object object) {
  // TODO Auto-generated method stub
  Transaction tran=this.session.beginTransaction();
  this.session.save(object);
  tran.commit();
  this.session.flush();

 }

}

<hibernate-mapping></hibernate-mapping>         映射h b.xml文件

......  prop

xml 代码
  1. <!---->xml version="1.0" encoding="utf-8"?>  
  2. <!---->
  3. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  
  4. <!---->  
  5. <hibernate-mapping>  
  6.     <class name="com.many.vo.Classstu" table="CLASSSTU" schema="TEST">  
  7.         <id name="id" type="java.lang.Long">  
  8.             <column name="ID" precision="22" scale="0" />  
  9.             <generator class="increment" />  
  10.         id>  
  11.         <property name="classname" type="java.lang.String">  
  12.             <column name="CLASSNAME" length="20" />  
  13.         property>  
  14.            
  15.         <one-to-one name="stu" class="com.many.vo.Stu" >one-to-one>  
  16.     class>  
  17. hibernate-mapping>  
  18.   
  19.   
  20.   
  21. ========================   
  22.   
  23. package com.many.vo;   
  24.   
  25. /**   
  26.  * Classstu generated by MyEclipse Persistence Tools   
  27.  */   
  28.   
  29. public class Classstu implements java.io.Serializable {   
  30.   
  31.     // Fields   
  32.   
  33.     private Long id;   
  34.   
  35.     private String classname;   
  36.        
  37.     private Stu stu;   
  38.   
  39.     // Constructors   
  40.   
  41.     public Stu getStu() {   
  42.         return stu;   
  43.     }   
  44.   
  45.     public void setStu(Stu stu) {   
  46.         this.stu = stu;   
  47.     }   
  48.   
  49.     /** default constructor */   
  50.     public Classstu() {   
  51.     }   
  52.   
  53.     /** full constructor */   
  54.     public Classstu(String classname) {   
  55.         this.classname = classname;   
  56.     }   
  57.   
  58.     // Property accessors   
  59.   
  60.     public Long getId() {   
  61.         return this.id;   
  62.     }   
  63.   
  64.     public void setId(Long id) {   
  65.         this.id = id;   
  66.     }   
  67.   
  68.     public String getClassname() {   
  69.         return this.classname;   
  70.     }   
  71.   
  72.     public void setClassname(String classname) {   
  73.         this.classname = classname;   
  74.     }   
  75.   
  76. }   
  77.   
  78. =============================   
  79.   
  80. package com.many.vo;   
  81.   
  82. /**   
  83.  * Stu generated by MyEclipse Persistence Tools   
  84.  */   
  85.   
  86. public class Stu implements java.io.Serializable {   
  87.   
  88.     // Fields   
  89.   
  90.     private Long id;   
  91.   
  92.     private String name;   
  93.   
  94.     private Long classid;   
  95.        
  96.     private Classstu classStu;   
  97.   
  98.     // Constructors   
  99.   
  100.     /** default constructor */   
  101.     public Stu() {   
  102.     }   
  103.   
  104.     /** full constructor */   
  105.     public Stu(String name, Long classid) {   
  106.         this.name = name;   
  107.         this.classid = classid;   
  108.     }   
  109.   
  110.     // Property accessors   
  111.   
  112.     public Long getId() {   
  113.         return this.id;   
  114.     }   
  115.   
  116.     public void setId(Long id) {   
  117.         this.id = id;   
  118.     }   
  119.   
  120.     public String getName() {   
  121.         return this.name;   
  122.     }   
  123.   
  124.     public void setName(String name) {   
  125.         this.name = name;   
  126.     }   
  127.   
  128.     public Long getClassid() {   
  129.         return this.classid;   
  130.     }   
  131.   
  132.     public void setClassid(Long classid) {   
  133.         this.classid = classid;   
  134.     }   
  135.   
  136.     public Classstu getClassStu() {   
  137.         return classStu;   
  138.     }   
  139.   
  140.     public void setClassStu(Classstu classStu) {   
  141.         this.classStu = classStu;   
  142.     }   
  143.   
  144. }   
  145.   
  146. ==============================   
  147. package com.many.services;   
  148.   
  149. import java.util.HashSet;   
  150.   
  151. import org.hibernate.HibernateException;   
  152.   
  153. import com.many.dao.Operater;   
  154.   
  155. import com.many.vo.*;   
  156.   
  157. public class Test {   
  158.   
  159.     /**   
  160.      * @param args   
  161.      */   
  162.     public static void main(String[] args) {   
  163.         // TODO Auto-generated method stub   
  164.         Stu stu = new Stu();   
  165.         Classstu classstu = new Classstu();   
  166.         stu.setName("s张华");   
  167.         stu.setClassid(new Long(13566));   
  168.         stu.setId(new Long(8));   
  169.         stu.setClassStu(classstu);   
  170.            
  171.         classstu.setClassname("s246-班");   
  172.         classstu.setStu(stu);   
  173.         stu.setClassStu(classstu);   
  174.            
  175.            
  176.        
  177.         Room r = new Room ();   
  178.        
  179.         r.setAddress("新港西路34号");   
  180.            
  181.         Users u = new Users();   
  182.        
  183.         u.setName("杨晓东");   
  184.         u.setRoom(r);   
  185.   
  186.         A a = new A ();   
  187.         B bnew B ();   
  188.   
  189.            
  190.         a.setLove("唱歌");   
  191.            
  192.         b.setName("李华");   
  193.         b.setPhone(new Long (12364));   
  194.         Operater o = new Operater();   
  195.         try {   
  196.         o.save(a);     
  197.         o.save(b);   
  198.         o.session.close();   
  199.         System.out.println("transaction success");   
  200.         } catch (HibernateException e) {   
  201.             // TODO Auto-generated catch block   
  202.             e.printStackTrace();   
  203.         }   
  204.     }   
  205.   
  206. }   
  207.   

erty <property name="classid" type="java.lang.Long">
            <column name="CLASSID" precision="22" scale="0"></column>
        one-to-one name="classStu" class="com.many.vo.Classstu" cascade="all"<one-to-one class="com.many.vo.Classstu" name="classStu" cascade="all"></one-to-one></property>
        <one-to-one class="com.many.vo.Classstu" name="classStu" cascade="all"></one-to-one>
   

----实体类---

package com.many.vo;

/**
 * Stu generated by MyEclipse Persistence Tools
 */

public class Stu implements java.io.Serializable {

 // Fields

 private Long id;

 private String name;

 private Long classid;
 
 private Classstu classStu;

 // Constructors

 /** default constructor */
 public Stu() {
 }

 /** full constructor */
 public Stu(String name, Long classid) {
  this.name = name;
  this.classid = classid;
 }

 // Property accessors

 public Long getId() {
  return this.id;
 }

 public void setId(Long id) {
  this.id = id;
 }

 public String getName() {
  return this.name;
 }

 public void setName(String name) {
  this.name = name;
 }

 public Long getClassid() {
  return this.classid;
 }

 public void setClassid(Long classid) {
  this.classid = classid;
 }

 public Classstu getClassStu() {
  return classStu;
 }

 public void setClassStu(Classstu classStu) {
  this.classStu = classStu;
 }

}

package com.many.vo;

/**
 * Classstu generated by MyEclipse Persistence Tools
 */

public class Classstu implements java.io.Serializable {

 // Fields

 private Long id;

 private String classname;
 
 private Stu stu;

 // Constructors

 public Stu getStu() {
  return stu;
 }

 public void setStu(Stu stu) {
  this.stu = stu;
 }

 /** default constructor */
 public Classstu() {
 }

 /** full constructor */
 public Classstu(String classname) {
  this.classname = classname;
 }

 // Property accessors

 public Long getId() {
  return this.id;
 }

 public void setId(Long id) {
  this.id = id;
 }

 public String getClassname() {
  return this.classname;
 }

 public void setClassname(String classname) {
  this.classname = classname;
 }

}

 

------测试类层 -------

package com.many.services;

import org.hibernate.HibernateException;

import com.many.dao.Operater;
import com.many.vo.Classstu;
import com.many.vo.Stu;

public class Test {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Stu stu = new Stu();
  Classstu classstu = new Classstu();
  stu.setName("张华");
  stu.setClassid(new Long(13566));
  stu.setClassStu(classstu);
  
//  classstu.setClassname("246-班");
  classstu.setStu(stu);
  stu.setClassStu(classstu);
  
  Operater o = new Operater();
  try {
   o.save(stu);
   o.session.close();
   System.out.println("transaction success");
  } catch (HibernateException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }

}

-------------此为典型的一对一的关系-----------

 

 

 

 

  • many.rar (7.7 KB)
  • 描述: hibernate-one-to-one
  • 下载次数: 1
分享到:
评论

相关推荐

    Hibernate一对一,一对多,多对多实例

    例如,Student实体和IdCard实体可以建立一对一关系: ```java @Entity public class Student { @OneToOne(mappedBy = "student") private IdCard idCard; } @Entity public class IdCard { @OneToOne @...

    hibernate一对一关联关系

    本资源主要探讨的是“hibernate一对一关联关系”。 一对一关联关系在现实世界中很常见,比如一个人只有一个身份证,或者一个公司的总部只有一个。在Hibernate中,设置一对一关联关系可以帮助我们更好地管理和操作...

    Hibernate关于注解的一对多,多对多,一对一

    本篇文章将深入探讨Hibernate中注解的一对多、多对多和一对一关系映射。 ### 一对多关系 在现实生活中,例如一个班级有一个班主任,而班主任可以管理多个学生,这就是典型的“一对多”关系。在Hibernate中,我们...

    hibernate一对一的关系

    在某些场景下,可能需要将原本的一对一关系转化为一对多或多对一关系,以优化性能。 ### 7. 事务管理 由于一对一关系涉及到两个实体,因此在处理这类关系时,需要注意事务管理,确保数据的完整性和一致性。 综上...

    hibernate一对多、多对一、一对一、多对多配置实例

    一对一关系表示两个实体之间存在唯一关联,如一个人只有一个身份证。在Hibernate中,可以使用`@OneToOne`注解。 **配置示例:** 1. 在两个实体类中都添加`@OneToOne`注解,并通过`@PrimaryKeyJoinColumn`或`@MapsId...

    hibernate多对一单向关联关系实现源码

    在Java的持久化框架Hibernate中,多对一(ManyToOne)关联关系是一种常见的对象关系映射(ORM)场景。这种关系通常出现在一个实体类拥有多条与另一个实体类相关的记录,而另一个实体类可能只有一条对应的记录。例如...

    hibernate one to one一对一关系示例

    总的来说,这个“hibernate one to one一对一关系示例”涵盖了如何在Hibernate中定义和操作一对一关联的基本步骤,包括实体类的注解配置、数据库表结构设计以及相关操作。通过对示例的深入学习,开发者能够更好地...

    hibernate一对多项目

    本项目“hibernate一对多项目”旨在演示如何在JavaWeb应用中使用Hibernate处理一对多的关系映射。这里我们将深入探讨 Hibernate 的一对多关系、配置以及在实际项目中的应用。 首先,一对多关系在数据库中很常见,...

    hibernate多对一关联关系

    - 在传统的Hibernate XML映射文件中,`&lt;many-to-one&gt;`标签用于定义多对一关系: ```xml ``` 3. **懒加载与急加载**: - Hibernate提供了两种加载策略:懒加载(Lazy Fetching)和急加载(Eager Fetching)。...

    Hibernate的一对一,一对多,多对多映射

    在这个例子中,User和Profile类分别代表用户和用户资料,它们之间存在一对一关系。`@OneToOne`注解定义了这种关系,`mappedBy`属性指定了在哪个实体中找到反向引用。 ### 2. 一对多映射 一对一映射的反面是一对多...

    Hibernate教程05_关系映射之一对一双向外键关联

    在Hibernate中,一对一关系可以通过两种方式实现:外键关联和主键关联。本教程重点讨论的是外键关联,这意味着一方的表将包含指向另一方表的外键。双向关联意味着两个实体类都可以直接访问彼此。 接下来,我们将...

    hibernate一对多案例

    本案例主要探讨的是Hibernate中的一对多关系映射,这是一种常见的对象关系映射(ORM)配置,用于表示一个实体与多个其他实体之间的关联。 在传统的数据库设计中,一对多关系是指一个表(父表)中的记录可以与另一个...

    hibernate多对多关联映射

    在Java的持久化框架Hibernate中,多对多关联映射是一种常见的关系数据库模型映射方式,用于处理两个实体之间存在多个实例互相关联的情况。本文将深入探讨Hibernate如何实现多对多关联映射,并通过实际例子解析相关...

    hibernate多对多

    在Java的持久化框架Hibernate中,多对多(Many-to-Many)关系是数据库中常见的关联类型,它允许一个实体实例对应多个其他实体实例,反之亦然。在本案例中,我们将深入探讨如何使用Hibernate来处理多对多的关系映射,...

    hibernate一对多与多对一

    本篇文章将详细讲解"hibernate一对多与多对一"的关系映射概念,以及如何在实际开发中进行配置和使用。 首先,我们来看一下“一对多”关系。在现实世界中,这种关系可以对应到例如一个班级有多个学生,或者一个人...

    Hibernate的多对一和一对多操作实例

    总之,Hibernate的多对一和一对多操作不仅提供了灵活的关联管理,还允许开发者将复杂的数据关系逻辑封装在应用程序中,从而简化数据库设计,提高代码的可读性和可维护性。然而,这也要求开发者对Hibernate的映射机制...

    hibernate(多对多关系映射)

    在Java的持久化框架Hibernate中,多对多(Many-to-Many)关系映射是一种常见的数据库交互模式,它用于表示两个实体之间复杂的关系。在这个场景中,一个实体可以与多个其他实体相关联,反之亦然。例如,在学生和课程...

    hibernate一对多实例

    标题中的“hibernate一对多实例”指的是在Java编程中使用Hibernate框架处理数据库关系时的一对多关联映射。Hibernate是Java领域中的一个流行对象关系映射(ORM)框架,它允许开发者用面向对象的方式操作数据库,从而...

Global site tag (gtag.js) - Google Analytics