读书人

(转)兑现CompositeUserType接口

发布时间: 2012-09-22 21:54:54 作者: rapoo

(转)实现CompositeUserType接口
Hibernate还提供了一个CompositeUserType借口,它不仅能完成和UserType相同的功能,而且还提供了对Hibernate查询语言(HQL)的支持.下面通过例子来介绍CompositeUserType接口的方法.

假定在Customer类中包含了一个Name类型的name属性,代表客户的姓名.例1是Name类的源程序.

例1:


从例1看出,Name类是可变类.因此,如果需要修改Customer对象的 name 属性,只需调用Name类的setFirstname()和setLastname()方法:


从例2看出,CompositeUserType包含了UserType接口的大部分方法,此外,它还包含了用来访问Name类的所有属性的方法,getPropertyNames(),getPropertyTypes(),getPropertyValue(),setPropertyValue()

在Customer.hbm.xml文件中,以下代码用于把Name类型的name属性映射到CUSTOMERS表的FIRSTNAME和LASTNAME字段:



在应用程序中创建HQL语句时,可以通过"c.name.firstname"的形式访问Customer的name属性的firstname属性:

Customer customer = session.find("from Customer as c where c.name.firstname='Tom'");




本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lifaming15/archive/2007/06/23/1663786.aspx

读书人网 >操作系统

热点推荐