问题标签 [nativequery]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
250 浏览

java - 将多次重复的 SQL 查询映射到休眠实体

我有一个从一个非常复杂的查询返回的结果集,我更喜欢使用 SQL 而不是 HQL 运行它。仅用于上下文 - 这是一个建议结果集,建议将客户支付的现有对象替换为成本可能更低的另一种类型的对象。因此,对于每个产品的每个建议,都有 3 个重复的列 - idtypeprice2 个代表建议的不同列 -new_typenew_price

我的结果集如下所示:

我想将它映射到一个看起来像这样的 Java 对象

我不确定 Hibernate 是否提供这种开箱即用的变压器(找不到)。我也不确定写一个新的变压器是要走的路。

0 投票
2 回答
1178 浏览

java - Join external column to Hibernate entity using native SQL

I have a (simplified) table structure that looks something like that:

customer table:

alias table:

When I run the following query I easily get the list of aliases per customer:

I would like to use this query in my hibernate to populate a list of type String. I tried using @Formula as follows:

It didn't work and I got this exception:

Is there anyway to achieve this? Doesn't have to be with @Formula of course. Any reasonable way would be great.

Here is an SQLFiddle of my example

0 投票
2 回答
2732 浏览

postgresql - 如何将 Postgres 任意子句与 JPA/Hibernate 本机查询(数组参数)一起使用

所以我们有大量的 Postgres SQL 查询存储在文件中并从 PHP 中使用。任务是用 Java 替换 PHP。我们希望“按原样”重用尽可能多的查询,以保持迁移路径短。我无法让数组参数工作。

这是一个查询示例:

请注意导致问题的“any”子句,因为它们需要一个数组类型。这就是我们从 PHP 中使用它们的方式:

因此,作为参数,数组类型看起来像“{111,222}”。

这是我在 Java 中尝试过的:

这些都不起作用我会得到以下例外之一:使用“toArray”方法时:

或者当使用 int[] 或 Strings 时,我会得到:

当两个 API 都与数据库通信时,我使用 Wireshark 发现了这一点:

图片:数据库调用与 Wireshark 的比较

有没有人设法将数组参数与使用 Hibernate 作为 JPA EntityManager 的后端的本机查询一起使用?如果是这样:如何?

0 投票
0 回答
243 浏览

jpa - 在本机查询中重用 JPA 实体的字段

我们在项目中使用 JPA,但有一些复杂的查询需要在原生查询中直接完成。我们为此使用 JPA 原生查询,如下所示

然后我们创建了一个名为 SomeEntity 的实体,其代码如下所示

我的问题是,如果我们有一个 dao 方法,该方法具有以下我们翻译为本地查询的方法

methodA()它返回 SomeEntityObject 但只填满fieldOne, fieldTwo,fieldThree

methodB()它返回SomeEntityObject但只填满fieldFour, fieldFive,fieldSix

我们注意到,在创建时@SqlResultSetMapping,所有字段都需要定义,否则会抛出异常。

如果 dao 方法(具有本机查询)延伸到methodE()并且我们不希望每个 dao 方法有不同的实体返回怎么办?我们希望对所有人使用相同的 SomeEntity 对象。

我的困境有解决方法吗?

那个sql是...

0 投票
0 回答
78 浏览

java - 文件 SQL 到持久化 nativequery UTF8

我从多个查询创建一个文件 sql 并将文件运行到我的应用程序中,但特殊字符编码失败!我的代码:

肿块

0 投票
2 回答
464 浏览

java - Java 原生查询 - com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException

我收到以下错误:“com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的 SQL 语法有错误;请查看与您的 MariaDB 服务器版本相对应的手册,以了解在 'Card.findPrefix' 附近使用的正确语法”

我不明白我的错误在哪里,因为当我将这个查询直接输入到 Mysql 时,它工作得很好。

0 投票
0 回答
691 浏览

spring - 将本机查询更新为慢

我正在使用带有本机查询的 Hibernate 来更新 Oracle 中具有 17000 行的表中的字段。

当我在 Toad 上执行查询时,执行需要 0.5 秒,并且下面的代码永远不会完成。

这是跟踪:

谢谢

0 投票
1 回答
665 浏览

java - 当输入参数为空时显示所有值的 Java 原生 SQL 查询

我有以下DAO方法:

如果param1null或为空,那么我想从表中选择所有条目。这样做的正确方法是什么?我目前正在使用以下内容:

但这不可扩展。我有整数、日期等数据类型。我想知道是否有一种方法可以跳过对该参数的检查null

我打算使用 COALESCE(?, CASE WHEN ? = '' THEN '%%' ELSE '%?%') 但我认为?对于特定参数,只能使用一次。我写的下一个 > 链接到第二个参数。

0 投票
1 回答
590 浏览

java - 如何将 json 对象作为参数发送到调用过程的本机查询?

大家好,我的问题是我有一个 jsonobject,并且我将此对象作为参数发送到 nativeQuery:

我得到了以下错误:

我的 json 对象:

0 投票
1 回答
1222 浏览

oracle - 在带有 Oracle 10g 数据库的 netweaver 服务器中使用 JPA nativequery 时出现无效列名错误

在 netweaver 服务器中使用 JPA nativequery 时出现无效的列名错误。数据库是 Oracle 10g

这是我的代码

以下是抛出的异常:

SQLException 发生执行查询,映射到 select et.eqt_desc from ge_equip_type et [EXCEPTION]javax.ejb.EJBException: 嵌套异常是:javax.persistence.PersistenceException: SQLException 发生执行查询,映射到 select et.eqt_desc from ge_equip_type et
。 .................................................. 原因:java.sql.SQLException:oracle 中的列名无效

jdbc.driver.OracleStatement.getColumnIndex(OracleStatement.java:3651) 在 oracle.jdbc.driver.OracleResultSetImpl.findColumn(OracleResultSetImpl.java:2543) 在 com.sap.engine.services.dbpool.wrappers.ResultSetWrapper.findColumn(ResultSetWrapper.爪哇:87)
在 com.sap.engine.services.orpersistence.query.EntityResultFactory$NamedEntityResult.getColumnNumber(EntityResultFactory.java:239)
在 com.sap.engine.services.orpersistence.core.PrimaryKey.createFromEntityResult(PrimaryKey.java:246)
在 com .sap.engine.services.orpersistence.core.StoreManager.processEntityRow(StoreManager.java:1631)
在 com.sap.engine.services.orpersistence.core.StoreManager.resultSet2ObjectList(StoreManager.java:1602)
在 com.sap.engine.services.orpersistence.core.StoreManager.executeQueryWithoutProcessingEntityInfos(StoreManager.java:1120) 在 com.sap.engine.services.orpersistence.core.StoreManager.executeQuery(StoreManager.java:1141) 在 com.sap .engine.services.orpersistence.core.PersistenceContextImpl.executeQuery(PersistenceContextImpl.java:937)

GeEquipType 类

注意:当我获取所有列或主键列但不是字符串列时,查询有效。

任何人请帮忙。