1.程序示例如图:

2.card.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.Card" table="Card">
<id name="id" type="int">
<column name="ID" />
<generator class="native" />
</id>
<property name="CardNo" type="java.lang.String">
<column name="CardNo" />
</property>
<one-to-one name="user" class="com.eduask.pojo.User" property-ref="card">
</one-to-one>
</class>
</hibernate-mapping>
3.User.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.User" table="MyUser">
<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="card" class="com.eduask.pojo.Card" column="Card_Id"></many-to-one>
</class>
</hibernate-mapping>
4.UserTest.java
package com.eduask.test;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.junit.Before;
import org.junit.Test;
import com.eduask.pojo.Card;
import com.eduask.pojo.User;
import com.eduask.util.HibernateUtil;
public class UserTest {
private SessionFactory sessionFactory;
@Before
public void setUp(){
sessionFactory=HibernateUtil.getSessionFactory();
}
@Test
public void testUser(){
Session session=sessionFactory.openSession();
Transaction tx=session.beginTransaction();
Card c=new Card();
c.setCardNo("123456789");
session.save(c);
User u=new User();
u.setName("tom");
u.setCard(c);
session.save(u);
tx.commit();
session.close();
}
}
5.程序运行之后,打开数据库如下:


分享到:
相关推荐
在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库与Java对象之间的交互。这个“Hibernate映射数据库表插件”是为了帮助开发者更方便地管理和操作数据库表而设计的。通过使用此插件,...
3. 关联关系:如果你的实体类间存在关联,如一对一、一对多或多对多,需要在映射文件中正确地配置外键和关联关系。 总之,通过Hibernate映射文件生成数据库是一种高效的方法,它减少了手动创建数据库表的工作,并且...
总结,一对一映射是Hibernate中的一个重要特性,它使得Java对象与数据库记录之间的对应关系更为灵活。理解并熟练运用一对一映射,能够帮助开发者更好地设计和实现复杂的业务逻辑,提高代码的可读性和维护性。通过...
在Java的持久化框架Hibernate中,ORM(对象关系映射)技术是其核心特性,它允许开发者使用面向对象的方式操作数据库,将数据表与Java对象进行对应。Hibernate通过映射类、映射文件和数据库配置文件来实现这一过程。...
"数据库表映射成实体类"是一种常见的做法,它允许我们通过对象-关系映射(ORM)技术将数据库中的表格结构转化为Java类,这些类通常被称为JavaBean。这种映射过程大大简化了数据操作,使得开发人员可以使用面向对象的...
Hibernate是一个强大的Java持久化框架,它允许开发者将对象模型与关系数据库进行映射,从而简化了数据库操作。在处理多数据库支持时,Hibernate提供了一些策略和技巧来确保应用程序能够在不同类型的数据库之间灵活...
2. **一对一映射**:使用@OneToOne注解来声明一对一关系。可以设置 mappedBy 属性来指定关联的反向引用字段。 3. **外键实现**:在一对一关系中,外键可以放在任一实体的表中。若外键在从表,称为单向一对一关联;...
单向一对一映射通常涉及一个实体持有另一个实体的引用,而双向一对一映射则意味着两个实体都可以互相引用。这种关联关系在数据库层面通常通过主键外键约束来实现,但在代码层面则通过注解来表达。 首先,我们需要...
在Java的持久化框架Hibernate中,无主键表映射是一种特殊情况,主要处理那些在数据库中没有明确单一主键的表。这种情况通常出现在那些通过多个字段共同唯一标识一条记录的复合主键(Composite Key)场景。本文将详细...
在实际应用中,Hibernate还提供了一些高级映射机制,如一对一(OneToOne)、一对多(OneToMany)、多对一(ManyToOne)和多对多(ManyToMany)的关系映射。这些映射通过@OneToOne、@OneToMany、@ManyToOne和@...
在IT行业中,数据库是存储和管理数据的核心工具,而Hibernate是一个流行的关系型对象-关系映射(ORM)框架,它简化了Java应用与数据库之间的交互。本教程将深入讲解如何根据数据库表自动生成实体类、Hibernate配置...
2. **一对一映射(OneToOne)**:在`BookHibernate_01`和`BookHibernate_03(oneToone)`中,演示了如何配置一对一的映射关系。这种关系通常存在于具有唯一关联的实体之间,如用户与身份证。在映射文件中,使用`...
映射类定义了数据库表的结构,映射文件指定了类和表之间的关系,而配置文件则包含了数据库连接的相关信息。 在Hibernate中,有七种主要的映射关系: 1. **单向一对一关联映射(one-to-one)**: - 主键关联:两个...
Hibernate是一个对象关系映射(ORM)框架,它允许我们将Java对象(实体)与数据库表进行映射,从而实现了面向对象编程和关系数据库之间的桥梁。Hibernate提供了强大的查询语言HQL(Hibernate Query Language)以及 ...
例如,用户和订单是一对多关系,订单和订单项是一对多关系,订单项和商品是多对一关系。这些关系需要在映射文件中明确指定,例如使用`<set>`、`<one-to-many>`和`<many-to-one>`标签。 6. **查询语言(HQL)**:...
一对一映射表示两个实体类之间存在唯一的关系,就像一个人只能有一个身份证。在 Hibernate 中,这可以通过在两个实体类中添加 `@OneToOne` 注解实现。此外,还可以使用 `@PrimaryKeyJoinColumn` 或 `@JoinColumn` ...
Java使用Hibernate操作数据库是现代Java应用中常见的技术实践,Hibernate作为一个强大的对象关系映射(ORM)框架,极大地简化了数据库的交互。它允许开发者用Java对象来表示数据库中的记录,而无需关心底层SQL的实现...
Hibernate是一款强大的Java持久化框架,它简化了与关系型数据库如SQL Server的交互。通过将对象映射到数据库表,Hibernate使得开发人员可以专注于业务逻辑,而无需关注底层的SQL语句。以下是对"Hibernate操作数据库...
3. **一对一关联**:两个实体之间存在唯一对应关系。 4. **多对多关联**:两个实体之间存在多对多的关系,通常需要通过关联表来实现。 #### 结论 Hibernate通过提供强大的对象关系映射功能,极大地简化了Java应用...
本话题主要探讨的是Hibernate中的一对一关联映射,这是一种将数据库中的单个表映射到Java对象模型中单个类的关系映射技术。通过注解方式实现一对一关联映射,可以避免传统的XML配置文件,使得代码更加简洁、易读。 ...