首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

[Hibernate] 用HQL提选若干个属性拼成一个对象

2012-10-08 
[Hibernate] 用HQL选取若干个属性拼成一个对象用HQL返回整个对象或者某个属性并不希奇。但有时候我们希望返

[Hibernate] 用HQL选取若干个属性拼成一个对象
用HQL返回整个对象或者某个属性并不希奇。但有时候我们希望返回部分属性组成的轻量级对象(Date transfer object),比如你只想得到一篇文章的标题和作者,而不想看CLOB格式的正文。 HQL已经支持这个东西。

比如

select new Family(mother, mate, offspr)from DomesticCat as mother    join mother.mate as mate    left join mother.kittens as offspr



你还可以返回 数组,MAP等对象。 See http://docs.jboss.org/hibernate/core/3.3/reference/en/html/queryhql.html#queryhql-select


这种东西的好处是去掉了"lazy"相关的烦恼。 以LOB字段为例,有的人会建议把Lob字段设成Lazy-Load,仍然返回Model对象,只不过Lob字段为空。 但这样做的坏处是:当你在web层拿到这样一个Model对象是,你不确定它的Lob字段是不是为空。这种不确定性是面向契约编程的大忌。

热点排行