(1)xml方法
Student.java
public class Student {
private int id;
private String name;
private int age;
private StuCard stuCard;
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;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public StuCard getStuCard() {
return stuCard;
}
public void setStuCard(StuCard stuCard) {
this.stuCard = stuCard;
}
}
StuCard.java
public class StuCard {
private int stuNo;
private String color;
public int getStuNo() {
return stuNo;
}
public void setStuNo(int stuNo) {
this.stuNo = stuNo;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
}
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>
<class name="com.hibernate.model.Student" dynamic-update="true">
<id name="id">
<generator class="native">
</generator>
</id>
<property name="name" />
<property name="age" />
<many-to-one name="stuCard" foreign-key="stu_card" unique="true" column="stuNo" />
</class>
</hibernate-mapping>
StuCard.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>
<class name="com.hibernate.model.StuCard">
<id name="stuNo">
<generator class="native"></generator>
</id>
<property name="color"/>
</class>
</hibernate-mapping>
(2)annotation方法
Student.java
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.OneToOne;
import javax.persistence.Id;
@Entity
public class Student {
private int id;
private String name;
private int age;
private StuCard stuCard;
@Id
@GeneratedValue
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;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@OneToOne
public StuCard getStuCard() {
return stuCard;
}
public void setStuCard(StuCard stuCard) {
this.stuCard = stuCard;
}
}
StuCard.java
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class StuCard {
private int stuNo;
private String color;
@Id
@GeneratedValue
public int getStuNo() {
return stuNo;
}
public void setStuNo(int stuNo) {
this.stuNo = stuNo;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
}
测试方法
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
import org.junit.Test;
public class TestAll {
@Test
public void OneToOne(){
new SchemaExport(new Configuration().configure()).create(true, true);
}
}
这个测试方法会在控制台生成创表信息,记得在hibernate.cfg.xml文件中添加映射信息
分享到:
相关推荐
**标题详解:**“Hibernate教程04_关系映射之一对一单向外键关联” 在Hibernate框架中,关系映射是数据库表之间的关联在对象模型中的体现。本教程重点讲解了一对一(One-to-One)单向外键关联的实现方法。在数据库...
本篇将详细讲解如何使用Hibernate进行一对一单向外键关联,并且该关联涉及到联合主键的注解配置。 首先,一对一关联可以分为两种类型:单向和双向。在单向一对一关联中,只有一个实体知道另一个实体的存在,而另一...
本篇将深入探讨Hibernate中的一对一单向外键关联,通过注解和XML配置两种方式进行实现。这种关联允许一个实体类与另一个实体类之间存在一对一的关系,并且只在其中一个实体类中维护这种关系。 首先,我们来理解一对...
以上就是关于Hibernate中一对一单向外键关联的基本介绍。通过理解和熟练掌握这种关联方式,开发者可以更高效地设计和管理数据库模型,提升应用性能。在实际项目中,还需结合业务场景灵活运用,并注意性能优化。通过...
在Java的持久化框架Hibernate中,一对一(One-to-One)关联映射是常见的...以上就是关于Hibernate一对一唯一外键关联映射(单向关联)的详细说明。通过这种方式,我们可以轻松地在Java应用中处理数据库的一对一关系。
本篇主要探讨的是Hibernate中的一对一(OneToOne)关系映射,特别是唯一外键关联(UniDirectional and Bidirectional Association)的情况。我们将深入理解这种关联方式的配置、实现以及它在实际应用中的价值。 1. ...
在这个场景下,我们将讨论一种特殊的一对一关联方式——唯一外键关联(Single ForeignKey Association),且为单向关联。这种关联方式意味着在一个实体中有一个字段作为另一个实体的主键引用。 首先,我们需要理解...
首先,一对一外键关联指的是一个实体通过外键直接引用另一个实体的主键。在单向关联中,只有其中一个实体知道另一个实体的存在,而另一个实体则无感知。这种关联通常体现在数据库设计中,比如一个用户只有一个账户,...
Hibernate 一对一唯一外键关联映射详解 Hibernate是一种流行的Java持久层框架,提供了多种关联映射方式,其中一对一唯一外键关联映射是一种常见的关联方式。在本文中,我们将详细介绍Hibernate一对一唯一外键关联...
在Java持久化框架Hibernate中,一对多外键单向关联是一种常见的关系映射方式,它描述了一对多的关系,其中一个实体(例如Person)可以与多个其他实体(例如Address)相关联,而关联的方向只从多方(Address)指向...
在这个例子中,我们很可能看到的是第一种情况,即在一方实体中定义外键,以实现与另一方实体的一对一单向关联。 **源码实现步骤**: 1. **实体类定义**:创建两个实体类,例如`Person`和`Passport`。`Person`实体...
在Java的持久化框架Hibernate中,一对一(One-to-One)关联映射是常见的关系映射方式之一,尤其在处理数据库中的唯一外键关联时。这种映射方式允许在一个实体类中引用另一个实体类的唯一实例,形成一对一的关系。在...
### 一、一对一单向外键关联 在一对一单向外键关联中,一个实体可以关联到另一个实体,但这种关联是单向的,即只有从一方到另一方的导航。例如,`Husband`实体可以有一个指向`Wife`实体的外键,但`Wife`实体没有...
“Hibernate基于外键的一对多单向关联”这个标题指的是在Java持久化框架Hibernate中,如何通过外键实现一个实体类(如订单)与另一个实体类(如商品)之间的一对多关系,并且这种关联是单向的,即从订单端可以访问到...
- 一对一关联通常需要在数据库层面建立唯一约束,以确保两个表的主键/外键关联是唯一的。 - 当使用`cascade`属性时,需谨慎处理级联操作,避免不必要的数据删除或更新。 - 如果不希望在`Person`类中暴露`Address`...
本篇文章将深入探讨如何使用Hibernate Annotation来实现基于外键的单向多对一关联。 在关系型数据库中,多对一关联是一种常见的关系类型,意味着一个实体(如表)可以与另一个实体有多条记录关联,而另一个实体只能...
在Java的持久化框架Hibernate中,`@OneToOne`注解用于表示一对一的关联关系,而唯一外键一对一双向关联则是这种关系的一种具体实现方式。这篇文章将深入探讨这一概念,帮助你理解如何在实际开发中应用。 首先,我们...
以上就是关于Hibernate中实现多对一单向关联关系的基本知识,包括如何在实体类中定义关联、如何进行数据库操作以及如何查询关联对象。这个源代码示例应该提供了更具体的实现细节,你可以通过查看和运行它来深入理解...
**标题详解:** "Hibernate教程06_关系映射之一对一单向主键关联" 在Hibernate框架中,关系映射是将数据库中的表关系映射到对象模型上的过程。本教程聚焦于一对一(One-to-One)单向主键关联,这是一种特定类型的...