我有类似的实体:

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似乎是最合适的使用方式。

09-12 02:40