`

many to one

阅读更多

    hibernate.cfg.xml

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration>

    <session-factory>
        <property name="connection.username">root</property>
        <property name="connection.url">jdbc:mysql://localhost/hibernate</property>
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="myeclipse.connection.profile">mysqlCon</property>
        <property name="connection.password">123456</property>
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="show_sql">true</property>
       <property name="hibernate.hbm2ddl.auto">update</property>
    
    	<mapping resource="com/yelang/hibernate/Class.hbm.xml"/>
    	<mapping resource="com/yelang/hibernate/Student.hbm.xml"/>
    </session-factory>

</hibernate-configuration>

  HibernateUtils.java

package com.yelang.hibernate;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class hibernateUtils {
	/**
	 * 申明一个 静态的sessionFactory  
	 */
	private static SessionFactory sf ;
	
	/**
	 * 静态块 用来初始化sessionFactory 
	 */
	static {
		try {
			sf = new Configuration().configure().buildSessionFactory();
		} catch (HibernateException e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * 反回一个新开的session 
	 */
	public static Session  getSession() {
		return sf.openSession();
	}
	
	/**
	 * 关闭Session
	 */
	public static void closeSession(Session session) {
		if(session != null) {
			if(session.isOpen()) {
				session.close();
			}
		}
	}
}

 class.java

package com.yelang.hibernate;

public class Class {
	private int id;
	
	private String name;

	public int getId() {
		return id;
	}

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

	public String getName() {
		return name;
	}

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

 

Student.java

package com.yelang.hibernate;

public class Student {
	private int id;
	
	private String stuName;
	
	private Class classer;

	public int getId() {
		return id;
	}

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

	public String getStuName() {
		return stuName;
	}

	public void setStuName(String stuName) {
		this.stuName = stuName;
	}

	public Class getClasser() {
		return classer;
	}

	public void setClasser(Class classer) {
		this.classer = classer;
	}
}

 

Class.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
	"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.yelang.hibernate">
	<class name="Class" table="tb_class">
		<id name="id">
			<generator class="native"/>
		</id>
		<property name="name"/>
	</class>
</hibernate-mapping>

 

Student.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
	"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.yelang.hibernate">
	<class name="Student" table="tb_student">
		<id name="id">
			<generator class="native"/>
		</id>
		<property name="stuName"/>
		<many-to-one name="classer" column="classId" cascade="save-update"/>
	</class>
</hibernate

 

TestUser.java

package com.yelang.hibernate;

import org.hibernate.Session;

import junit.framework.TestCase;

public class StudentTest extends TestCase {
	public void testSave() {
		Session session = null;
		try{
			session = hibernateUtils.getSession();
			session.beginTransaction();
				Class class1 = new Class();
				class1.setName("07试点班");
				
				Student student = new Student();
				student.setClasser(class1);
				student.setStuName("###");
				session.save(student);
				
				
				Student student2 = new Student();
				student2.setClasser(class1);
				student2.setStuName("gg");
				session.save(student2);
				
				
			session.getTransaction().commit();
		}catch(Exception e) {
			e.printStackTrace();
			session.getTransaction().rollback();
		}finally {
			hibernateUtils.closeSession(session);
		}
	}
}

 

分享到:
评论

相关推荐

    Hibernate one to many(many to one) 配置

    标题"Hibernate one to many(many to one) 配置"涉及到的是关系型数据库在Java中的持久化框架Hibernate中的两种关联映射关系:一对一(One-to-One)和多对一(Many-to-One)。在数据库设计中,这种关系很常见,例如...

    hibernate 关联映射(一) many to one

    本篇文章将深入探讨Hibernate中的关联映射,特别是"Many to One"关系的映射。在数据库设计中,Many to One是一种常见的关系,即一个实体(表)可以与多个其他实体相关联,而另一个实体则只与一个实体相关联。 首先...

    hibernate many to one

    在Java的持久化框架Hibernate中,"Many-to-One"关系是一种常见的关联映射类型,它表示一个实体(类)可以与多个其他实体实例相关联。在这个主题中,我们将深入探讨Hibernate如何处理这种关系,以及如何在实际编程中...

    Hibernate one-to-many / many-to-one关系映射

    "Hibernate one-to-many / many-to-one关系映射"是两个基本的关系类型,用于表示实体间的关联。在这个主题中,我们将深入探讨这两种关系映射的原理、配置和实际应用。 一、一对一(one-to-one)与一对多(one-to-...

    Hibernate Mapping Many-to-One 实例 内附源代码及附件下载

    本实例将详细讲解如何在Hibernate中实现Many-to-One关系映射,这是一种常见的数据库关联,表示一个实体可以与多个其他实体相关联。 在Many-to-One关系中,通常一个实体(如部门)可以有多个相关实体(如员工),而...

    (4)Hibernate中的many-to-one和one-to-many关系

    本话题主要探讨两种基本的关系映射类型:many-to-one(多对一)和one-to-many(一对多)。这两种关系映射是数据库中常见的关联类型,理解和掌握它们对于开发高质量的Java应用至关重要。 1. many-to-one关系 many-to...

    中科大高级计算机网络实验1 含代码实验结果

    dc1.cc 实现many to one 的过程 dc2.cc 实现many to many的过程 dc3.cc 实现了对于数据中心瓶颈的改进 trace文件分为三个文件夹 trace1为dc1.cc的trace文件,即many to one 的trace文件; trace2为dc2.cc的trace文件...

    hibernate many-to-one(多对一)及 cascade(级联).doc

    ### Hibernate Many-to-One (多对一) 及 Cascade (级联) #### 一、Many-to-One(多对一) 在数据库设计中,实体之间的关系主要包括一对一、一对多、多对多等几种类型。而在ORM(对象关系映射)框架Hibernate中,...

    Many-to-one关联映射

    关联映射的本质: 将关联关系映射到数据库,所谓的...&lt;many-to-one&gt;会在多的一端加入一个外键,指向一的一端,这个外键是由&lt;many-to-one&gt; 中的column属性定义的,如果忽略了这个属性那么默认的外键与实体的属性一致

    many-to-one 配置详解

    many-to-one 配置详解 讲的很清楚 适合新手 值得下载

    Hibernate Reference Documentation3.1

    7.5.1. one to many / many to one 7.5.2. one to one 7.5.3. many to many 7.6. More complex association mappings 8. Component Mapping 8.1. Dependent objects 8.2. Collections of dependent objects 8.3. ...

    hibernate_many2one

    在配置`&lt;many-to-one&gt;`关系时,还可以指定级联选项,例如`cascade="save-update"`、`cascade="delete"`等,这些选项决定了在当前实体进行某些操作时,是否也对关联的实体执行相同的操作。这对于保持数据一致性非常...

    hiberante - one to many - update

    标题中的“Hibernate - one to many - update”指向的是一个关于Hibernate框架中的一对多关联关系在更新操作时的专题。Hibernate是Java开发中常用的持久化框架,它简化了数据库操作,使得开发者可以更加关注业务逻辑...

    hibernate学习5之one-to-many双向关联.docx

    在配置双向一对多关联时,我们通常在"多"一端(这里是`Student`)的集合属性上使用`&lt;many-to-one&gt;`标签,将`Classes`对象映射到数据库中的外键。同时,在"一"端(`Classes`)使用`&lt;set&gt;`标签,表示班级可以包含多个...

    Hibernate3的帮助文档

    8.5.1. 一对多(one to many) /多对一( many to one) 8.5.2. 一对一(one to one) 8.5.3. 多对多(many to many) 9. 组件(Component)映射 9.1. 依赖对象(Dependent objects) 9.2. 在集合中出现的依赖...

    PowerDesigner教程系列(六)概念数据模型.pdf

    按照实体类型中实例之间的数量对应关系,通常可将联系分为四类,即一对一(ONE TO ONE)联系、一对多(ONE TO MANY)联系、多对一(MANY TO ONE)联系和多对多联系(MANY TO MANY)。 ### 三、 建立联系 在 CDM ...

    hibernate 框架详解

    一对多(one to many) /多对一( many to one) 8.5.2. 一对一(one to one) 8.5.3. 多对多(many to many) 9. 组件(Component)映射 9.1. 依赖对象(Dependent objects) 9.2. 在集合中出现的依赖对象 ...

    hibernate中one2many映射

    在Java的持久化框架Hibernate中,One-to-Many映射是一种常见的关系映射方式,它表示一个实体(比如一个用户)可以与多个其他实体(比如用户的订单)进行关联。在这个场景下,"用户"是一方,称为"One","订单"是另...

    最全Hibernate 参考文档

    7.4.1. 一对多(one to many) / 多对一(many to one) 7.4.2. 一对一(one to one) 7.5. 使用连接表的双向关联(Bidirectional associations with join tables) 7.5.1. 一对多(one to many) /多对一( many to ...

Global site tag (gtag.js) - Google Analytics