`

hibernate关联关系-组件关联

阅读更多

组件关联关系的映射与原理:

 

模型: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);
		
	}
}

 

分享到:
评论
4 楼 csdn_zuoqiang 2010-08-03  
维护关系其实就是更新外键
3 楼 csdn_zuoqiang 2010-08-03  
一定要告诉员工他的部门是谁~!
2 楼 csdn_zuoqiang 2010-08-03  
//==================此处建立emps到depart的关联====================
emp1.setDepart(depart);// 对象模型:建立两个对象的关联

两者的关联只要声明一个就可以~!告诉员工属于哪个部门,或者告诉部门有哪些员工~!


//==================此处建立depart到emps的关联====================
depart.setEmps(emps);
1 楼 csdn_zuoqiang 2010-08-03  
一般在一对一,一对多中设置级联cascade

相关推荐

    hibernate-release-5.2.10

    Hibernate是Java平台上的一款开源对象关系映射(ORM)框架,它允许开发者用面向对象的方式处理数据库操作。在SSH(Spring、Struts、Hibernate)框架中,Hibernate作为持久层的解决方案,极大地简化了数据库操作的...

    hibernate-common-annotations.jar

    "hibernate-common-annotations.jar"是Hibernate框架中的一个关键组件,它提供了对JPA(Java Persistence API)注解的支持,使得开发者能够更加便捷地进行对象持久化操作。本文将深入探讨这个jar文件及其在Hibernate...

    hibernate-distribution-3.3.2.GA-dist

    首先,"hibernate-distribution-3.3.2.GA-dist" 是Hibernate 3.3.2.GA版本的完整发布包,它包含了该版本的所有必需组件。这个压缩包中不仅有运行时所需的jar文件,还包含了详细的API文档——javadoc,这对于开发者...

    最新 hibernate-release-4.2.13.Final.tgz

    Hibernate 4.2.13.Final的参考文档详细介绍了框架的所有组件、API和配置选项。通过阅读这些文档,你可以: 1. 学习配置文件:理解hibernate.cfg.xml或persistence.xml的结构和配置项。 2. 探索映射:深入理解实体类...

    hibernate-release-5.3.2.Final

    Hibernate ORM,作为Java领域最著名的对象关系映射框架之一,自诞生以来就深受开发者喜爱。2018年7月5日,Hibernate发布了其最新版本——5.3.2.Final,带来了诸多改进和新特性,为开发者提供了更为高效、稳定的持久...

    hibernate源码release-4.1.4.Final版

    Hibernate的懒加载机制可以在需要时才加载关联的对象,避免了大量数据一次性加载导致的内存压力。但需注意防止“懒加载地狱”。 九、性能优化 包括但不限于:合理使用缓存,避免N+1查询问题,使用批处理更新,选择...

    hibernate-orm-3.3源码

    Hibernate,作为一个强大的对象关系映射(ORM)框架,一直以来都是Java开发者的重要工具。其3.3版本是 Hibernate 的一个重要里程碑,为开发者提供了丰富的功能和优化的性能。本文将针对《hibernate-orm-3.3源码》...

    hibernate-orm-master.zip

    Hibernate,作为Java领域中的一款著名ORM(对象关系映射)框架,极大地简化了数据库操作,使得开发者可以更加专注于业务逻辑,而非底层的SQL语句。本篇将从源码的角度,对Hibernate进行深度解析,帮助读者理解其核心...

    hibernate-release-4.2.12.Final libs

    Hibernate,作为一个开源的对象关系映射(ORM)框架,极大地简化了Java开发者在处理数据库操作时的工作。本篇文章将深入探讨`hibernate-release-4.2.12.Final`版本中的库文件,了解其核心组件和关键功能,以及如何在...

    hibernate-release-4.2.3.lib.zip

    二、Hibernate核心组件 1. Hibernate Configuration:配置文件(hibernate.cfg.xml)用于设置数据库连接信息、实体类映射等,它是初始化SessionFactory的关键。 2. SessionFactory:这是Hibernate的核心工厂类,...

    hibernate-dtd-xsd约束文件

    `hibernate-mapping-4.0.xsd`包含关于如何定义实体、关联(Association)、组件(Component)、集合(Collection)等的规则,而`hibernate-configuration-4.0.xsd`则定义了配置Hibernate会话工厂、缓存策略、事件...

    hibernate-release-4.3.9.Final.rar

    这次我们关注的是Hibernate 4.3.9.Final版本,它包含了“required”文件夹,这通常是Hibernate运行所必需的基本组件和库。 1. Hibernate概述: Hibernate是Java应用程序与关系数据库之间的一个桥梁,它通过XML或...

    hibernate-entitymanager-3.4.0.GA

    Hibernate是一个流行的开源ORM(对象关系映射)工具,它允许开发者使用面向对象的编程方式来处理数据库操作,而无需直接编写SQL语句。Hibernate Entity Manager则进一步扩展了Hibernate的功能,实现了JPA规范,使得...

    hibernate-release-4.2.2.Final.zip

    @ManyToOne、@OneToMany等注解则用于建立对象间的关联关系。 四、持久化操作 Hibernate提供了一套完整的生命周期管理机制,包括持久化(persist)、加载(load)、检索(get)、更新(update)、删除(delete)等...

    hibernate-commons-annotations-3.1.0.GA

    Hibernate Commons Annotations 3.1.0.GA还支持了一些高级特性,例如@ManyToOne、@OneToOne、@OneToMany和@ManyToMany,这些注解用于定义对象间的关联关系。例如,@ManyToOne表示一对多的关系,@OneToOne表示一对一...

    hibernate-annotations-3.4.0.jar

    而`hibernate-annotations-3.4.0.jar`是Hibernate框架中的一个关键组件,它主要负责提供对象-关系映射的注解支持,使得开发者能够以更加面向对象的方式来处理数据库操作。 Hibernate Annotations是Hibernate框架的...

    hibernate-distribution-3.6.2.Final-dist

    1. `hibernate-core`: Hibernate的核心组件,包含对象/关系映射、查询、事务处理等功能。 2. `hibernate-entitymanager`: 实现JPA规范的模块,提供了对JPA的支持。 3. `hibernate-tools`: 提供了Hibernate相关的辅助...

    hibernate-distribution-3.3.1

    3. 关系映射:一对一、一对多、多对一、多对多等关联关系。 四、查询语言(HQL)与Criteria API 1. HQL:Hibernate Query Language,面向对象的查询语言,类似于SQL,但操作的是对象而非表。 2. Criteria API:提供...

    hibernate-orm-4.3.9源码

    总结,hibernate-orm-4.3.9源码揭示了Hibernate的内部实现细节,包括对象-关系映射、缓存管理、事务处理、查询优化等多个方面。通过研究源码,开发者不仅可以理解其工作原理,还能提升在实际项目中的使用技巧,从而...

Global site tag (gtag.js) - Google Analytics