`
吕金含
  • 浏览: 87871 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

hibernate中数据库表多对一的映射

 
阅读更多

1.项目示例如图:


2.studentClass.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">
<!-- Generated 2016-7-20 10:48:06 by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
<class name="com.eduask.pojo.StudentClass" table="StudentClass">
<id name="id" type="int">
<column name="ID" />
<generator class="native" />
</id>
<property name="name" type="java.lang.String">
<column name="NAME" />
</property>
</class>
</hibernate-mapping>

3.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">
<!-- Generated 2016-7-20 10:48:06 by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
<class name="com.eduask.pojo.Student" table="student">
<id name="id" type="int">
<column name="ID" />
<generator class="native" />
</id>
<property name="name" type="java.lang.String">
<column name="NAME" />
</property>
<!--多对一 -->
<many-to-one name="studentClass" class="com.eduask.pojo.StudentClass" column="studentClass_id">
</many-to-one>
</class>
</hibernate-mapping>

4.测试类:

package com.eduask.test;
import java.util.Date;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.junit.Before;
import org.junit.Test;
import com.eduask.pojo.Student;
import com.eduask.pojo.StudentClass;
import com.eduask.util.HibernateUtil;
public class StudentTest {
private SessionFactory sessionFactory;
@Before
public void setUp() throws Exception {
//使用hibernateUtil工具类来创建单例的sessionFactory 对象
//再使用sessionFactory 对象来创建session
//工具类提供一个创建session的方法
sessionFactory=HibernateUtil.getSessionFactory();
}
//增加;
@Test
public void testInsert(){
Session session=sessionFactory.openSession();
Transaction tx=session.beginTransaction();
StudentClass sc=new StudentClass();
sc.setName("大数据0302");
session.save(sc);
Student s=new Student();
s.setName("link");
s.setStudentClass(sc);
session.save(s);
tx.commit();
session.close();
}

}

5.程序之后我们打开数据库:



分享到:
评论

相关推荐

    Hibernate 映射数据库表插件

    在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库与Java对象之间的交互。这个“Hibernate映射数据库表插件”是为了帮助开发者更方便地管理和操作数据库表而设计的。通过使用此插件,...

    hibernate(一对多,多对一映射)操作

    压缩包中的"**Hibernater**"文件可能包含了实现这些操作的Java源代码和数据库脚本,读者可以参考其中的实现细节,进一步理解Hibernate的一对多和多对一映射以及如何在实际项目中运用。通过实践,开发者可以更好地...

    Hibernate 多数据库支持解决方案

    Hibernate是一个强大的Java持久化框架,它允许开发者将对象模型与关系数据库进行映射,从而简化了数据库操作。在处理多数据库支持时,Hibernate提供了一些策略和技巧来确保应用程序能够在不同类型的数据库之间灵活...

    hibernate 映射关系学习入门 多对多实体映射

    在Hibernate中,多对多关系通过中间表(也称为联接表或关联表)来实现,这个表包含来自两个表的外键。 三、配置多对多映射 在Hibernate中,配置多对多映射通常需要以下几个步骤: 1. **实体类定义**:为每个实体...

    hibernate映射文件生成数据库

    3. 关联关系:如果你的实体类间存在关联,如一对一、一对多或多对多,需要在映射文件中正确地配置外键和关联关系。 总之,通过Hibernate映射文件生成数据库是一种高效的方法,它减少了手动创建数据库表的工作,并且...

    hibernate 一对多多对一的映射

    本教程将详细讲解如何使用Hibernate来实现MySQL数据库中的一对多和多对一的映射关系。 ### 一、Hibernate简介 Hibernate是一个开源的ORM框架,它通过XML配置文件或者注解将Java对象映射到关系数据库表,实现了对象...

    hibernate 无主键表映射

    在Java的持久化框架Hibernate中,无主键表映射是一种特殊情况,主要处理那些在数据库中没有明确单一主键的表。这种情况通常出现在那些通过多个字段共同唯一标识一条记录的复合主键(Composite Key)场景。本文将详细...

    Hibernate多对多实例+数据库代码

    标题"Hibernate多对多实例+数据库代码"揭示了我们将在讨论一个使用Hibernate框架实现的多对多关系映射的实际案例。在这个实例中,开发人员将两个或多个实体之间的复杂关联转化为简单易懂的数据库操作。描述中提到...

    hibernate单向多对多映射(XML版)

    在关系型数据库中,两个表之间可能存在多对多关联,意味着一个表中的记录可以对应另一表中的多个记录,反之亦然。例如,学生和课程的关系,一个学生可以选修多门课程,而一门课程也可以被多个学生选修。 在...

    数据库表映射成实体类

    "数据库表映射成实体类"是一种常见的做法,它允许我们通过对象-关系映射(ORM)技术将数据库中的表格结构转化为Java类,这些类通常被称为JavaBean。这种映射过程大大简化了数据操作,使得开发人员可以使用面向对象的...

    JAVA数据类型与Hibernate的类型映射

    在实际应用中,Hibernate还提供了一些高级映射机制,如一对一(OneToOne)、一对多(OneToMany)、多对一(ManyToOne)和多对多(ManyToMany)的关系映射。这些映射通过@OneToOne、@OneToMany、@ManyToOne和@...

    MyEclipse 2014 使用hibernate3 生成数据库实体类 和 xml映射文件

    本文将深入探讨如何在MyEclipse 2014环境中利用Hibernate 3这一强大的ORM(对象关系映射)框架,生成数据库实体类和XML映射文件。这将帮助开发者有效地将Java对象与数据库表进行绑定,实现数据的透明操作。 首先,...

    根据数据库表生成实体、hibernate配置文件和实体映射文件

    在IT行业中,数据库是存储和管理数据的核心工具,而Hibernate是一个流行的关系型对象-关系映射(ORM)框架,它简化了Java应用与数据库之间的交互。本教程将深入讲解如何根据数据库表自动生成实体类、Hibernate配置...

    hibernate动态数据库进化版

    在传统的Hibernate使用中,通常会预定义一些ORM映射文件或注解来固定数据库表的映射关系,但这在应对多变的业务需求和多种数据库环境时显得不够灵活。动态数据库进化版的目的是打破这种局限,使Hibernate能够根据...

    Hibernate映射解析 七种映射关系

    在实际开发中,根据业务需求,还有其他六种映射关系,包括双向一对一、一对多、多对一、多对多等,它们各自的实现方式和应用场景各有不同。理解并熟练掌握这些映射关系,对于使用Hibernate进行数据库操作是非常关键...

    hibernate连接金仓数据库所需jar包集合lib.7z

    在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者通过Java对象来操作数据库,极大地简化了数据库操作。金仓数据库,又称为Kingbase,是一款国产的高性能、高可靠性的关系型数据库管理...

    hibernate数据库映射例子.zip

    《hibernate数据库映射例子.zip》这个压缩包包含了几个基于Hibernate框架的数据库映射示例,旨在帮助初学者理解并掌握如何在实际项目中应用Hibernate进行数据持久化操作。Hibernate是一个强大的Java对象关系映射...

    Hibernate与Mongodb数据库之间的映射

    在这篇文章中,我们将重点介绍 Hibernate 与 NoSQL 数据库之间的映射,包括如何实现基于 Hibernate 与 NoSQL 数据库之间的通信。 Hibernate OGM 项目使得我们可以使用熟悉的 Hibernate 框架来与 NoSQL 数据库交互。 ...

    商城数据库hibernate映射实例

    例如,用户和订单是一对多关系,订单和订单项是一对多关系,订单项和商品是多对一关系。这些关系需要在映射文件中明确指定,例如使用`&lt;set&gt;`、`&lt;one-to-many&gt;`和`&lt;many-to-one&gt;`标签。 6. **查询语言(HQL)**:...

    Hibernate初之单表映射学习例子

    10. **实体关系映射**:虽然标题提到“单表映射”,但可以扩展讨论到多对一、一对多、多对多等关联关系的映射。 通过这个“Hibernate初之单表映射学习例子”,初学者可以掌握Hibernate的基本操作,为进一步深入学习...

Global site tag (gtag.js) - Google Analytics