public class Department {
private int id ;
private String name ;
private Set<Employee> emps;
public Set<Employee> getEmps() {
return emps;
}
public void setEmps(Set<Employee> emps) {
this.emps = emps;
}
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;
}
}
//Employee.java
public class Employee {
private int id ;
private String name ;
private Department depart ;
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 Department getDepart() {
return depart;
}
public void setDepart(Department depart) {
this.depart = depart;
}
}
Department.hbm.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="org.javaboys.model.Department" >
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="native" />
</id>
<property name="name" type="java.lang.String"/>
<set name="emps">
<key column="depart_id"/>
<one-to-many class="org.javaboys.model.Employee"/>
</set>
</class>
</hibernate-mapping>
Employee.hbm.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="org.javaboys.model.Employee" >
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="native" />
</id>
<property name="name" type="java.lang.String"/>
<many-to-one name="depart" column="depart_id"/>
</class>
</hibernate-mapping>
测试类:
package org.javaboys.dao;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.javaboys.model.Department;
import org.javaboys.model.Employee;
public class One2Many {
/**
* @param args
*/
public static void main(String[] args) {
Session s = null;
s = HibernateUtil.getSession();
Transaction tx = s.beginTransaction();
Department depart = new Department();
depart.setName("management");
Employee emp = new Employee();
emp.setDepart(depart);
emp.setName("zhangsan");
Employee emp1 = new Employee();
emp1.setDepart(depart);
emp1.setName("lisi");
s.save(depart);
s.save(emp);
s.save(emp1);
tx.commit();
}
}
分享到:
相关推荐
10. **集合映射**:在Hibernate 3.2中,可以映射各种类型的集合,如List、Set、Map等,同时支持一对多、多对一、一对一等多种关联关系。 11. **延迟加载(Lazy Loading)**:为了解决性能问题,Hibernate 提供了懒...
6. **一对多、多对一、一对一关联映射** - 通过@ManyToOne、@OneToMany、@OneToOne注解定义不同类型的关联关系,简化了数据间的关联操作。 7. **延迟加载(Lazy Loading)** - Hibernate支持属性和关联的懒加载,...
6. **关联映射**:支持一对一、一对多、多对一、多对多等多种关联关系的映射。 在使用这两个JAR文件时,开发者需要确保有相应的JDBC驱动以连接数据库,并配置Hibernate的配置文件(如hibernate.cfg.xml),定义...
- **一对多映射**:处理实体间的多对一或多对多关系。 - **继承映射**:支持不同类型的继承关系映射到数据库。 #### 六、查询语言 - **HQL (Hibernate Query Language)**:面向对象的查询语言,类似于 SQL 但更...
5. **关系映射(Relationship Mapping)**:包括一对一(OneToOne)、一对多(OneToMany)、多对一(ManyToOne)和多对多(ManyToMany)关系。理解这些关系的配置和使用是掌握Hibernate的关键。 6. **会话(Session...
总的来说,这个"struts2+spring2.5+hibernate3.2整合完整项目"提供了一个完整的开发实例,涵盖了前端到后端,以及数据库的各个环节。对于学习者而言,可以深入理解这三大框架的协同工作,提升Java Web开发技能。而...
11. **Association Mapping关联映射**:Hibernate支持一对一、一对多、多对一、多对多等各种关联映射,方便地处理复杂的对象关系。 12. **延迟加载Lazy Loading**:Hibernate的懒加载机制可以推迟到真正需要时才...
11. **关联映射**:Hibernate 支持一对一、一对多、多对一和多对多的关系映射,通过注解或XML配置来定义实体之间的关联。 12. **延迟加载(Lazy Loading)**:为了优化性能,Hibernate 实现了延迟加载机制。默认...
9. **集合映射**:在实体类中,可以定义一对多、一对一、多对一、多对多的关系。Hibernate提供了丰富的集合类型(如List、Set、Map等)来映射这些关系。 10. **延迟加载(Lazy Loading)**:为了提高性能,...
3. **实体映射**:讲解如何使用Hibernate的XML映射文件(.hbm.xml)或注解来定义Java类与数据库表之间的映射关系,包括字段映射、主键生成策略、关联映射(一对一、一对多、多对一、多对多)等。 4. **Session接口*...
9. **关联映射**:包括一对一(@OneToOne)、一对多(@OneToMany)、多对一(@ManyToOne)和多对多(@ManyToMany)等关系映射,以及懒加载和立即加载策略。 10. **类型系统和用户类型**:Hibernate支持多种内置类型...
Hibernate 3.2 版本是该框架的一个重要里程碑,引入了许多新特性并优化了性能。 ### 1. ORM 基础 对象关系映射(ORM)是一种编程技术,用于将数据存储的概念模型(如对象和类)转换为关系数据库中的表格结构。...
5. **关联映射**:包括一对一(OneToOne)、一对多(OneToMany)、多对一(ManyToOne)、多对多(ManyToMany)等关系的映射,通过`@OneToOne`、`@OneToMany`等注解实现。 6. **事件监听**:Hibernate允许注册监听器...
Hibernate3.2是其一个重要版本,它带来了许多改进和新特性,包括性能优化、对JPA的支持以及更多的查询选项。 ### Hibernate3.2 API `hibernate3.2API`是指Hibernate 3.2版本的官方API文档。这个文档详细介绍了各种...
3. 集合映射:一对多、多对多关系的映射,如Set、List、Map等集合类型的处理。 4. 异步查询:通过Hibernate的FutureResult和Query.listAsync()实现异步数据检索。 5. 动态模型:无需预先定义实体类,可以动态构建...
5. **Association Mapping**:Hibernate 支持多种关联映射,如一对一(OneToOne)、一对多(OneToMany)、多对一(ManyToOne)、多对多(ManyToMany)。这些映射方式允许对象之间的复杂关系在数据库中得以体现。 6....
【hibernate3.2课件共31页.pdf.zip】这个压缩文件包含了关于Hibernate 3.2的详细教学资料,共计31页。Hibernate是一个非常重要的Java持久化框架,它简化了数据库操作,使开发者能够更加专注于业务逻辑而不是数据库...
9. **Collections**:Hibernate 支持多种类型的集合映射,如 List、Set、Map 等,以及一对一、一对多、多对多的关联关系。 10. **Event Listeners**:Hibernate 3.2 提供了事件监听器机制,可以在特定操作(如对象...
在“hibernate-3.2 jar包”中,包含了一系列用于支持Hibernate 3.2版本运行所必需的库文件。 这个压缩包的核心组件是`hibernate3.jar`,它是Hibernate框架的主要实现,包含了Hibernate API、核心功能和一些默认的...