3

我在 SO 中环顾四周,但没有找到我的具体问题的答案。

有没有办法告诉 Hibernate 在执行查询时调用实体方法?

例如:

SELECT o.getDescription() from Order o WHERE o.id = :id

getDescription()实现是这样的:

public String getDescription(){
    return getFormattedOrderTime() + " " + getOrderDetails().getDescription();
}   

我知道在这个例子中这样的事情是没有必要的。我创建这个例子只是为了说明我想要什么。

我只想知道查询中的调用是否完全可行,这样我就可以避免我必须做的巨大变通方法。

PS:解决方案是否特定于 Hibernate 并不重要。

附加信息:休眠版本:3.6.10.Final

4

1 回答 1

0

您应该在 @Entity 中添加一个 @PostLoad 方法

@PostLoad
public String getDescriptionWithDetails(){
   return getFormattedOrderTime() + " " + getOrderDetails().getDescription();
}
于 2013-03-29T16:33:29.523 回答