您的位置:首页 > 编程语言 > Java开发

Java乔晓松-Hibernate组件映射

2012-12-25 19:21 381 查看
组件映射

l 组件映射

组件类是值类型的,它没有对象标识符属性,在数据库中没有对应的表,它只隶属于另一个持久化类的实例。



把组件类作为持久化类的单个属性来使用

把组件类作为持久化类的集合属性来使用



l 把组件类作为持久化类的单个属性来使用

public class Address{
… }



public class Customer{

private Long id;

…..

private Address homeAddress;

private Address deliverAddress;

….}

<componet name=“homeAddress


class=“com.qiujy.domain.Address”>

<property name=“province” column=“home_province”/>

……

</componet>

<componet name=“deliverAddress


class=“com.qiujy.domain.Address”>

<property name=“province” column=“deliver_province”/>

……

</componet>

l 把组件类作为持久化类的集合属性来使用

public class Photo{….}



public class Album{

private Long id;

private String title;

….

private List<Photo> photos;

…}



<bag name=“photos” table=“photo”>

<key column=“album_id” not-null=“true”/>

<composite-element class=“com.qiujy.domain.Photo”>

<property name=“name”/>

….

</composite-element>

</bag>

组件映射(User-Name)

关联的属性是个复杂类型的持久化类,但不是实体即:数据库中没有表与该属性对应,但该类的属性要之久保存的。

<component name=”name” class=”com.test.hibernate.domain.Name”>

<property name=”initial”/>

<property name=”first”/>

<property name=”last”/>

</component>

当组件的属性不能和表中的字段简单对应的时候可以选择实现:

org.hibernate.usertype. UserType或

org.hibernate.usertype. CompositeUserType
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: