People.java
/**
*
*/
package com.hb.po;
import java.util.HashSet;
import java.util.Set;
/**
* @author dudong0726
*
* @date 2011-11-9 上午10:51:17
*
*/
public class People {
private long id;
private String name;
private Address address;
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
}
Address.java
/**
*
*/
package com.hb.po;
/**
* @author dudong0726
*
* @date 2011-11-9 上午10:51:48
*
*/
public class Address {
private long id;
private String addressDesc;
public String getAddressDesc() {
return addressDesc;
}
public void setAddressDesc(String addressDesc) {
this.addressDesc = addressDesc;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
}
many2one_with.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.hb.po.People" table="peoplemany2onewith">
<id name="id" column="p_id">
<generator class="native"></generator>
</id>
<property name="name"></property>
<join table="people_addressmany2one" optional="true">
<key column="p_id" unique="true"></key>
<many-to-one name="address" column="a_id" not-null="true"></many-to-one>
</join>
</class>
<class name="com.hb.po.Address" table="addressmany2onewith">
<id name="id" column="a_id">
<generator class="native"></generator>
</id>
<property name="addressDesc"></property>
</class>
</hibernate-mapping>
分享到:
相关推荐
2. **关联表的生成**:在多对多关联中,通常需要一个中间表来存储双方的关联信息。由于是单向关联,这个表由Hibernate自动创建,无需在实体类中显式声明。中间表通常包含两列,分别对应两个实体的主键。 3. **关联...
标题 "Hibernate基于连接表的一对多单向关联" 涉及的是数据库对象关系映射(ORM)框架Hibernate中的一个重要概念。在Java开发中,Hibernate是广泛使用的工具,它允许开发者将Java类与数据库表进行映射,简化了数据...
本主题聚焦于"hibernate单向多对多映射",特别是在XML配置文件中的实现。在这个过程中,我们将探讨多对多关系的原理,以及如何在Hibernate中通过XML配置文件来定义这种关系。 首先,我们需要理解多对多关系的概念。...
- 数据库层面:多对多关系需要一个中间连接表,Hibernate通过`@JoinTable`自动创建。 - 级联操作:`cascade`属性可以控制操作的传播,比如当删除一个学生时,是否应该同时删除其选修的所有课程。 - 清理关联:由于是...
在多对多关联中,通常会有一个中间表来存储两个实体类的关联信息,这个中间表由Hibernate自动创建或者由开发者自定义。中间表通常包含两个外键,分别对应两个实体类的主键。在单向关联中,这个中间表可能只在源实体...
总的来说,这篇博客和相关代码示例为开发者提供了一个理解和实现Hibernate中多对多单向关联的起点,帮助他们更好地处理复杂的数据库关系映射。学习和实践这部分内容对于提升Java后端开发能力,特别是使用Hibernate...
在Hibernate中,实现多对多关联通常需要创建一个中间表来存储两个实体之间的关联信息。然而,"单向维护"意味着在一个实体类中定义了关联,而在另一个实体类中没有对应的引用。这有助于简化模型,减少冗余,但也需要...
本篇将详细讲解如何使用Hibernate实现多对多单向关联,包括注解(Annotation)和XML配置方式。 一、多对多关联的基本概念 多对多关联意味着一个实体可以与多个其他实体关联,反之亦然。例如,学生和课程的关系,一...
可以创建Student类和Course类,两者之间通过一个中间表(如StudentCourse表)建立关联,表示学生与课程之间的多对多关系。 使用Hibernate配置关联的好处包括: - 自动化数据持久化:无需手动编写SQL语句,简化开发...
在Java的持久化框架Hibernate中,多对多(Many-to-Many)关联关系是一种常见的实体间关系类型,它表示一个实体可以与多个其他实体相关联,反之亦然。本示例"Hibernate多对多关联关系demo"将深入探讨如何在实际开发中...
2. **@JoinTable**:多对多关系通常需要一个中间表来存储双方的关联,`@JoinTable`用来定义这个中间表,包括它的名字、连接的列名等。 ```java @Entity public class User { @ManyToMany @JoinTable(name = "user...
通过查看源码,你可以学习如何在实际项目中配置和使用多对多单向关联。 总之,理解并掌握Hibernate中的多对多单向关联对于开发复杂的Java应用至关重要。这不仅简化了数据库操作,还使得对象模型更加符合业务逻辑。...
本篇文章将详细讲解"hibernate一对多与多对一"的关系映射概念,以及如何在实际开发中进行配置和使用。 首先,我们来看一下“一对多”关系。在现实世界中,这种关系可以对应到例如一个班级有多个学生,或者一个人...
3. **多对多关联(Many-to-Many)**:多对多关联需要一个中间表来存储双方的关联信息,可以使用`@ManyToMany`注解,同时通过`@JoinTable`定义连接表的详细信息,包括连接字段和关联实体的引用。多对多关联的集合通常...
这种关联通常需要一个中间表来存储这两个实体的外键,形成一个“多对多”的关系。 #### 单向关联 - 在多对多的单向关联中,实体A可以与实体B的多个实例关联,而实体B不知道它与哪些实体A关联。 #### 多向关联 - ...
本文旨在深入探讨Hibernate中的实体关联关系映射技术,主要包括一对一、一对多、多对多等不同类型的关联关系及其在实际开发中的应用技巧。通过本文的学习,开发者可以更好地理解和掌握Hibernate框架下的实体关联关系...
本篇文章将深入探讨Hibernate中的三种主要关联关系:一对一、一对多和多对多。 **一对一关联(One-to-One)** 一对一关联在现实生活中很常见,例如一个人只有一个身份证。在Hibernate中,这种关联可以通过`@...
- **中间表关联**:多对多关联通常需要一个中间表来存储两个实体的连接信息。在映射文件中,可以使用`<many-to-many>`标签,指定关联的实体类和中间表的列名。 ```xml <!-- User映射 --> ``` - **双向关联*...