我有计算业务对象的属性。该计算涉及一些登录的用户详细信息,因此不能表示为简单的SQL查询。

我在表示Hibernate映射XML文件中的字段时遇到了麻烦,因为Hibernate继续尝试从数据库中检索该字段,尽管该名称没有列。

有帮助吗?

解决方案

我在表示Hibernate映射XML文件中的字段时遇到了麻烦,因为Hibernate继续尝试从数据库中检索该字段,尽管该名称没有列。

我可能缺少一些明显的东西,但是...为什么要映射此字段?但以防万一,这可能是一个很好的用例 <formula> 属性。


该字段在Java类中,当我编码查询时,我可以提供自定义SQL以填充它,例如:选择t。*,(从y中选择x)作为字段作为从表T中的字段,其中... Hibernate允许我然后使用sqlquery.Addentity(Z.Class)并适当地创建对象。据我所知,如果我将字段完全排除在映射之外,我将永远无法通过查询填充该属性。我试过了 :)

我怀疑这样的事情,但我想获得确认。我认为您在这里没有那么多选择:要么使用 <formula> (是欺骗冬眠的“愚蠢”公式)或 返回非托管实体.

其他提示

听起来您希望该属性是“瞬态”

<transient name="foo" />
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top