组件关联关系的映射与原理:
模型:User — Name(两者同属一张表中)
package Domain;
import java.util.Date;
public class User {
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public Name getName() {
return name;
}
public void setName(Name name) {
this.name = name;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
private int id;
// private String name;
private Name name;
private Date birthday;
}
package Domain;
public class Name {
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
private String firstName;
private String lastName;
}
<?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 package="Domain">
<class name="User" table="user">
<id name="id">
<generator class="native" />
</id>
<!--
<property name="name" unique="true"/>
-->
<component name="name">
<property name="firstName" column="first_name"/>
<property name="lastName" column="last_name"/>
</component>
<property name="birthday"/>
</class>
</hibernate-mapping>
package Dao.Test;
import java.util.Date;
import Dao.UserDAO;
import Dao.Impl.UserDAOImpl;
import Domain.Name;
import Domain.User;
public class UserDAOTest {
public static void main(String[] args) {
/*UserDAO dao = new UserDAOImpl();
User user = new User();
user.setName("Eric");
user.setBirthday(new Date());
System.out.println("==============================================");
dao.saveUser(user);
System.out.println("==============================================");
user.setName("new Eric");
dao.updateUser(user);
System.out.println("==============================================");
User u = dao.findUserByName(user.getName());
System.out.println("==============================================");
dao.removeUser(u);*/
User user = new User();
user.setBirthday(new Date());
Name n = new Name();
n.setFirstName("firstName");
n.setLastName("lastName");
user.setName(n);
UserDAO dao = new UserDAOImpl();
dao.saveUser(user);
}
}
分享到:
相关推荐
Hibernate是Java平台上的一款开源对象关系映射(ORM)框架,它允许开发者用面向对象的方式处理数据库操作。在SSH(Spring、Struts、Hibernate)框架中,Hibernate作为持久层的解决方案,极大地简化了数据库操作的...
"hibernate-common-annotations.jar"是Hibernate框架中的一个关键组件,它提供了对JPA(Java Persistence API)注解的支持,使得开发者能够更加便捷地进行对象持久化操作。本文将深入探讨这个jar文件及其在Hibernate...
首先,"hibernate-distribution-3.3.2.GA-dist" 是Hibernate 3.3.2.GA版本的完整发布包,它包含了该版本的所有必需组件。这个压缩包中不仅有运行时所需的jar文件,还包含了详细的API文档——javadoc,这对于开发者...
Hibernate 4.2.13.Final的参考文档详细介绍了框架的所有组件、API和配置选项。通过阅读这些文档,你可以: 1. 学习配置文件:理解hibernate.cfg.xml或persistence.xml的结构和配置项。 2. 探索映射:深入理解实体类...
Hibernate ORM,作为Java领域最著名的对象关系映射框架之一,自诞生以来就深受开发者喜爱。2018年7月5日,Hibernate发布了其最新版本——5.3.2.Final,带来了诸多改进和新特性,为开发者提供了更为高效、稳定的持久...
Hibernate的懒加载机制可以在需要时才加载关联的对象,避免了大量数据一次性加载导致的内存压力。但需注意防止“懒加载地狱”。 九、性能优化 包括但不限于:合理使用缓存,避免N+1查询问题,使用批处理更新,选择...
Hibernate,作为一个强大的对象关系映射(ORM)框架,一直以来都是Java开发者的重要工具。其3.3版本是 Hibernate 的一个重要里程碑,为开发者提供了丰富的功能和优化的性能。本文将针对《hibernate-orm-3.3源码》...
Hibernate,作为Java领域中的一款著名ORM(对象关系映射)框架,极大地简化了数据库操作,使得开发者可以更加专注于业务逻辑,而非底层的SQL语句。本篇将从源码的角度,对Hibernate进行深度解析,帮助读者理解其核心...
Hibernate,作为一个开源的对象关系映射(ORM)框架,极大地简化了Java开发者在处理数据库操作时的工作。本篇文章将深入探讨`hibernate-release-4.2.12.Final`版本中的库文件,了解其核心组件和关键功能,以及如何在...
二、Hibernate核心组件 1. Hibernate Configuration:配置文件(hibernate.cfg.xml)用于设置数据库连接信息、实体类映射等,它是初始化SessionFactory的关键。 2. SessionFactory:这是Hibernate的核心工厂类,...
`hibernate-mapping-4.0.xsd`包含关于如何定义实体、关联(Association)、组件(Component)、集合(Collection)等的规则,而`hibernate-configuration-4.0.xsd`则定义了配置Hibernate会话工厂、缓存策略、事件...
这次我们关注的是Hibernate 4.3.9.Final版本,它包含了“required”文件夹,这通常是Hibernate运行所必需的基本组件和库。 1. Hibernate概述: Hibernate是Java应用程序与关系数据库之间的一个桥梁,它通过XML或...
Hibernate是一个流行的开源ORM(对象关系映射)工具,它允许开发者使用面向对象的编程方式来处理数据库操作,而无需直接编写SQL语句。Hibernate Entity Manager则进一步扩展了Hibernate的功能,实现了JPA规范,使得...
@ManyToOne、@OneToMany等注解则用于建立对象间的关联关系。 四、持久化操作 Hibernate提供了一套完整的生命周期管理机制,包括持久化(persist)、加载(load)、检索(get)、更新(update)、删除(delete)等...
Hibernate Commons Annotations 3.1.0.GA还支持了一些高级特性,例如@ManyToOne、@OneToOne、@OneToMany和@ManyToMany,这些注解用于定义对象间的关联关系。例如,@ManyToOne表示一对多的关系,@OneToOne表示一对一...
而`hibernate-annotations-3.4.0.jar`是Hibernate框架中的一个关键组件,它主要负责提供对象-关系映射的注解支持,使得开发者能够以更加面向对象的方式来处理数据库操作。 Hibernate Annotations是Hibernate框架的...
1. `hibernate-core`: Hibernate的核心组件,包含对象/关系映射、查询、事务处理等功能。 2. `hibernate-entitymanager`: 实现JPA规范的模块,提供了对JPA的支持。 3. `hibernate-tools`: 提供了Hibernate相关的辅助...
3. 关系映射:一对一、一对多、多对一、多对多等关联关系。 四、查询语言(HQL)与Criteria API 1. HQL:Hibernate Query Language,面向对象的查询语言,类似于SQL,但操作的是对象而非表。 2. Criteria API:提供...
总结,hibernate-orm-4.3.9源码揭示了Hibernate的内部实现细节,包括对象-关系映射、缓存管理、事务处理、查询优化等多个方面。通过研究源码,开发者不仅可以理解其工作原理,还能提升在实际项目中的使用技巧,从而...