gpt4 book ai didi

java - Hibernate 计算属性和 SQL 查询

转载 作者:搜寻专家 更新时间:2023-11-01 02:55:47 25 4
gpt4 key购买 nike

我已经为我的配置实现了一个计算属性,如果我只使用 HQL,它工作正常。遗憾的是,有些地方执行的 SQL 查询我无法构建到 HQL 中。我是遇到错误还是只是做错了什么?

<property name="customerNr" type="int" insert="false" update="false" lazy="false">
<formula>
(SELECT DISTINCT p.CUSTOMER FROM P.P03 p WHERE p.COUNTRY = land)
</formula>
</property>

当一个SQL查询被执行时,这是通过这种方式完成的:

session.createSQLQuery(queryString).addEntity(P11.class).list()

我收到一个 NullPointerException

java.lang.NullPointerException
at org.hibernate.loader.DefaultEntityAliases.intern(DefaultEntityAliases.java:157)
at org.hibernate.loader.DefaultEntityAliases.getSuffixedPropertyAliases(DefaultEntityAliases.java:130)
at org.hibernate.loader.DefaultEntityAliases.(DefaultEntityAliases.java:76) at org.hibernate.loader.ColumnEntityAliases.(ColumnEntityAliases.java:40) at org.hibernate.loader.custom.sql.SQLQueryReturnProcessor.generateCustomReturns(SQLQueryReturnProcessor.java:197) at org.hibernate.loader.custom.sql.SQLCustomQuery.(SQLCustomQuery.java:152) at org.hibernate.engine.query.NativeSQLQueryPlan.(NativeSQLQueryPlan.java:67) at org.hibernate.engine.query.QueryPlanCache.getNativeSQLQueryPlan(QueryPlanCache.java:136) at org.hibernate.impl.AbstractSessionImpl.getNativeSQLQueryPlan(AbstractSessionImpl.java:160) at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:165) at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:175) at de.acocon.mis.dao.AmpelDaoImpl.getAmpelOMK(AmpelDaoImpl.java:134) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307

最佳答案

您必须将公式复制到您的 native SQL 查询中。 Hibernate 不会尝试操作或理解 native SQL,当您使用它时,您只能靠自己了。

关于java - Hibernate 计算属性和 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2005531/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com