【发布时间】:2013-03-26 15:21:50
【问题描述】:
我有一个 Detectable 类和一个 Revisions 集,它们是 Hibernate 托管的 POJO。我还使用 hbm.xml 文件映射我的实体。当用户进入Detectable 管理屏幕时,我希望他看到Detectable 数据到一个表中,该表还将包含最后一个Revision 完成。然而,完整的修订集只能访问可检测的详细信息页面。
我的机会是显示最后的修订日期,它将作为每个Detectable 实例的属性单独加载。所以我有类似的东西:
可检测的.hbm.xml
<set name="_Revisions" table="trevision" inverse="true" lazy="true">
<key>
<column name="id_detectable" />
</key>
<one-to-many class="com.company.model.tasks.Revision" />
</set>
<property name="_LastRevisionDate"
formula="select max(rev.start_date) from trevision rev where rev.id_detectable = _Id"
type="date" />
这不起作用,当 hibernate 尝试执行包含在 公式 中的查询时,我遇到了 SQL 语法错误。我在不同的地方看到可以使用standard SQL 或HQL 访问此属性,但我都失败了。是否有可能仅按日期顺序实现整个Revision 实体(我的意思是最后一次修订)?
集思广益!
【问题讨论】: