`

hibernate component的使用

阅读更多

 第一次看到component这样使用。所以记下来。只记类与hbm文件,别的和hibernate别的一样

 

Address.java类如下:

 

package cn.ehoo.hibernate.domain;
/**
 *@author whp
 *@Email whp@ehoo.cn
 *@Nov 30, 2011
 *
 */
public class Address {
	private String province;
	private String city;
	private String street;
	private String zipcode;
	public String getProvince() {
		return province;
	}
	public void setProvince(String province) {
		this.province = province;
	}
	public String getCity() {
		return city;
	}
	public void setCity(String city) {
		this.city = city;
	}
	public String getStreet() {
		return street;
	}
	public void setStreet(String street) {
		this.street = street;
	}
	public String getZipcode() {
		return zipcode;
	}
	public void setZipcode(String zipcode) {
		this.zipcode = zipcode;
	}
	

}

 

Customer.java类如下:

 

package cn.ehoo.hibernate.domain;
/**
 *@author whp
 *@Email whp@ehoo.cn
 *@Nov 30, 2011
 *
 */
public class Customer {
	private Integer id;
	private String name;
	private Address homeAddress;
	private Address comAddress;
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Address getHomeAddress() {
		return homeAddress;
	}
	public void setHomeAddress(Address homeAddress) {
		this.homeAddress = homeAddress;
	}
	public Address getComAddress() {
		return comAddress;
	}
	public void setComAddress(Address comAddress) {
		this.comAddress = comAddress;
	}
	
}

 

 

 

 

 

 

Customer.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 package="cn.ehoo.hibernate.domain">
	<class name="Customer" table="customer">
		<id name="id" type="int">
			<generator class="native" />
		</id>
		<property name="name" />
		<component name="homeAddress" class="cn.ehoo.hibernate.domain.Address">
			<property name="province" type="string" column="HOME_PROVINCE"/>
			<property name="city" type="string"  column="HOME_CITY"/>
			<property name="street" type="string" column="HOME_STREET"/>
		</component>
		<component name="comAddress" class="cn.ehoo.hibernate.domain.Address">
			<property name="province" type="string" column="COM_PROVINCE"/>
			<property name="city" type="string"  column="COM_CITY"/>
			<property name="street" type="string" column="COM_STREET"/>
		</component>

	</class>
</hibernate-mapping>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    component(组件映射)

    在Java开发领域,尤其是使用Spring或Hibernate框架时,“Component(组件映射)”是一个重要的概念。Component映射是Hibernate提供的一种机制,它允许我们将多个相关的简单属性或者对象封装到一个复合对象中,以此来...

    Hibernate3.1_学习源码

    03 03Hibernate_Component : 实体细粒度的划分,数据库中的一张表在程序中划分为几个部分的实体,配置文件和增、删、改、查的使用。 04 04Hibernate_Composite : 复合主键的使用,在开发中很少用到,一般良好的设计...

    Hibernate_test

    Hibernate是Java领域中一款广泛应用的对象关系映射(ORM)框架,它简化了数据库与Java对象之间的交互,使得开发者可以使用面向对象的方式来操作数据库。在"Hibernate_test"这个主题中,我们将深入探讨Hibernate的...

    JEECG HIBERNATE

    其中,`Hibernate`是JEECG的一个重要组成部分,它是Java领域中广泛使用的对象关系映射(ORM)框架,使得开发者可以通过面向对象的方式来操作数据库,而无需关心底层SQL的编写。 **1. Hibernate基础** Hibernate允许...

    Hibernate_code

    5. **Hibernate_Component**:这部分可能包含了Hibernate组件映射的示例。组件是对象的一部分,可以被嵌入到其他对象中,类似于数据库中的复合类型。通过@Component或@Embeddable注解,可以将一个类声明为组件,并在...

    hibernate组件映射

    Hibernate 是一个开源的对象关系映射(ORM)框架,它允许开发者使用面向对象的方式来操作数据库,极大地简化了Java应用与数据库之间的交互。在Hibernate中,组件映射是将一个类的实例作为另一个类的一个属性进行持久...

    springmvc+hibernate+定时器配置实例

    然后,定义一个定时任务类,这个类中包含执行定时任务的方法,并且这个方法内部可以使用Hibernate的Session来执行数据库操作。 例如,你可以使用Spring的`@Scheduled`注解来定义一个定时任务: ```java import org...

    Hibernate的缓存级联查询

    尽管随着Spring Data JPA等现代技术的崛起,Hibernate的使用频率有所下降,但其核心概念和技术仍然具有重要价值,特别是对于缓存管理的理解和应用。 在一对一关联的映射中,Hibernate提供了两种方式:外键映射和...

    hibernate源码下载

    `hibernate_component_mapping`文件可能讨论了Hibernate的组件映射。组件是一组相关的属性,它们可以作为一个整体被映射到数据库的一个或多个字段上。组件映射提供了一种有效的方式,将复杂对象分解为更小的部分,...

    SpringMVC+Spring+hibernate配置

    2. 注解驱动开发:使用@Component、@Service、@Repository和@Controller等注解标记bean。 3. 配置事务管理:使用@Transactional注解开启事务支持,配置事务管理器。 4. 整合其他框架:如整合Hibernate,需要配置...

    Hibernate中文API大全

    当删除对象时, Hibernate必须使用每一个字段的值来确定一条记录(在组合元素表中,没有单独的关键字段), 如果有为null的字段,这样做就不可能了。你必须作出一个选择,要么在组合元素中使用不能为空的属性,要么...

    Hibernate+中文文档

    5.1.13. 组件(component), 动态组件(dynamic-component) 5.1.14. properties 5.1.15. 子类(subclass) 5.1.16. 连接的子类(joined-subclass) 5.1.17. 联合子类(union-subclass) 5.1.18. 连接(join) 5.1.19. 键...

    Hibernate插件教程

    例如,教程中提到的版本为 `jbosstools-3.2.1.Final.component--hibernatetools-Update-2011-08-01_12-53-33-H1305.zip`。 - **安装步骤**:下载后的压缩文件需解压并放入 Eclipse 的 `dropins` 目录下,并且需要...

    集成struts2 spring hibernate,使用注解

    Spring的注解,如`@Component`、`@Service`、`@Repository`和`@Autowired`,允许开发者在不编写XML配置的情况下声明bean和管理它们的生命周期。 Hibernate是一个对象关系映射(ORM)框架,它简化了数据库操作,将...

    springmvc + hibernate annotation 配置

    5. **DAO层**:创建DAO(Data Access Object)接口和实现类,使用Hibernate的Session API进行数据操作。通过`@Repository`注解标记DAO实现类,使其成为Spring管理的bean。 6. **Service层**:创建Service接口和实现...

    hibernate-dtd-xsd约束文件

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

    Struts2 Spring3.0 Hibernate3.3 整合全注解配置用的数据库

    在全注解配置中,我们可以使用`@Component`、`@Service`、`@Repository`和`@Controller`注解来标记bean,然后通过`@Autowired`自动装配依赖。Spring还支持使用`@Transactional`进行事务管理,确保数据库操作的一致性...

Global site tag (gtag.js) - Google Analytics