Java 停止Hibernate尝试从数据库获取计算字段

Java 停止Hibernate尝试从数据库获取计算字段,java,hibernate,orm,hibernate-mapping,Java,Hibernate,Orm,Hibernate Mapping,我有一个计算过的业务对象的属性。计算涉及登录用户的一些详细信息,因此不能表示为简单的SQL查询 我在Hibernate映射XML文件中表示字段时遇到问题,因为Hibernate继续尝试从数据库中检索字段,尽管没有该名称的列 我在Hibernate映射XML文件中表示字段时遇到问题,因为Hibernate继续尝试从数据库中检索字段,尽管没有该名称的列 我可能错过了一些明显的东西,但是。。。那你为什么要绘制这个区域?但以防万一,这可能是一个很好的属性用例 该字段在Java类中,当我编写查询代码时,我

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

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

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

我可能错过了一些明显的东西,但是。。。那你为什么要绘制这个区域?但以防万一,这可能是一个很好的属性用例


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


我一直在怀疑这样的事情,但我想得到证实。我认为您在这里没有太多的选择:要么使用一个愚蠢的公式来欺骗hibernate,要么。

听起来您希望这个属性是暂时的

<transient name="foo" />

这不是hbm.xml AFAIK的一个元素,任何未映射的属性在定义上都是暂时的,因为Hibernate不知道它。该字段在Java类中,当我编写查询代码时,我可以提供自定义SQL来填充它,例如:选择t.*,从y中选择x作为表t中的字段,其中。。。Hibernate允许我使用SQLQuery.addEntityZ.class并适当地创建对象。据我所知,如果我将字段完全排除在映射之外,我永远无法通过查询填充该属性。我试过了:好吧,我试过使用一个哑公式和覆盖复杂查询,我收到了以下NPE:这里的错误是什么:你是说我绝对无法让这个字段工作?@Fry有点问题:修复错误: