我有类似的实体:
ProductLine: id, name
ProductLineContents: content_id, product_line_id
Content: id, text, updated_time
我想做的是:对于每个产品线,获取最新的内容(因此,如果有两个内容条目与一个产品线相关联,则返回最新的updated_time,如果一个内容项与两个产品线相关联,则它返回两次)。类似于:
select content.* from productline
inner join productlinecontents
inner join content;
但是,我似乎无法弄清楚如何使Hibernate Criteria返回与创建它的原始实体不同的实体。因此,如果我想使用
createCriteria(ProductLine.class)
以及适当的联接在产品系列中启动条件,那么它仅返回ProductLine
对象,但是我需要Content
对象。做到这一点的最佳方法是什么?
实际的数据模型要复杂得多,无法修改
最佳答案
或者你可以像这样http://docs.jboss.org/hibernate/stable/core/reference/en/html_single/#querycriteria-associations
使用resulttransformer Alias进行实体映射
但是Hql似乎是最合适的使用方式。