问题标签 [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.
jpa - nativequery 的替代命名查询
我需要在 jpa 中将我的查询从native-query更改为(named-query 或 create-query )。
此查询返回所有表名(表名外键引用此表 (sampleTable1))。
当我更改 createQuery 或 namedQuery 时出现错误。
像
如何将此查询更改为 namedQuery 或 createQuery。有可能吗?
以下错误,当我使用 createquery
帮助我,提前谢谢。
mysql - Hibernate 本机查询在同一个表上具有多个联接返回错误结果
我正在使用本机 sql 查询,其中我有一个球员表,我加入了三次,首先获取击球手姓名,然后获取投球手姓名,然后获取外野手姓名。现在第一个连接有效,但接下来的两个也返回相同的名称,即击球手名称。
这是sql查询
我没有为所选列使用别名,因为当我这样做时,hibernate 为我使用别名的任何列抛出异常
请求处理失败;嵌套异常是 javax.persistence.PersistenceException:org.hibernate.exception.SQLGrammarException:无法执行查询],根本原因是 java.sql.SQLException:找不到列“over_no”。
当我在我的 mysql 客户端上运行它并返回正确的数据集时,这个查询正在工作,但是当我在我的代码中运行它时,结果集以某种方式覆盖了 ref_player 表上的两个后续连接,让我在所有三列中都有击球手的名字,即 batsman.sname、outBy.sname 和 fielder.sname 列中的相同名称。
最近两天我被困在这里,请任何帮助都会很棒。
hibernate - 使用带有 return-join 的 Hibernate 本机查询复制行
我正在使用 Hibernate (3.3.x),我有两个实体:
和
(为简单起见,省略了其他属性和设置器)。
我有一个本地查询:
该查询应该(我希望它)为 pkgDtl 中的每个项目返回一行,并填写 FtChargeAcctPkgDtl#ftChargeAcctPkgRates。但实际上它为 ft_charge_acct_pkg_rate 中的每个项目返回一行。
假设主(pkgDtl)表中有 5 行,连接的表中有 50 行(单个 pkgDtl 的平均 10 pkgRates)。当我使用调用查询时
我得到50行。然而,其中 45 个是重复的。我想得到这 5 个 pkgDtls 并且每个都填入 pkdRates。有没有办法在休眠中做到这一点?
java - Eclipselink mongoDB本机查询find()不起作用
我最近正在使用 mongoDB 数据库进行 JAVA 项目。所以我决定使用eclipselink 2.4。关于查询,它允许通常的“类似 SQL”的查询,但也(据说)允许本机 mongoDB 查询。我按照本教程进行操作,一切正常。我能够运行 findOne() 本机 mongoDB 查询 (queryOne) 但我无法运行 find() 查询(queryAll 不起作用)...
查询 queryOne = em.createNativeQuery("db.ORDER.findOne()", Order.class);
查询 queryAll = em.createNativeQuery("db.ORDER.find()", Order.class);
执行查询时出现错误:
使用 MongoDB shell 执行查询:
如果您能告诉我如何解决此问题或一些解决方法,我将不胜感激。
编辑:JPQL 查询可能很有用,我正在使用一些作为解决方法,但是,我目前无法查询参考 ID。例如,如果我有一个带有客户参考的订单(订单只保存客户的 id)和 mongoDB 查询,我会像这样搜索:
JPQL 类似的查询我相信会是这样的:
然而,再一次......不工作!错误:
谢谢
spring - 有没有办法对休眠本机查询做出反应
我正在使用 Spring 和 Hibernate 开发 Web 应用程序。在某种情况下,我想撤销用户对数据库的写访问权限。因此,我已经实现EventListeners
了对我感兴趣的事件作出反应。但是,该应用程序也使用了一些NativeQueries
似乎被我能想到的Listeners
和任何Interceptor
我能想到的事件。
我正在使用 Spring 3.0.5 和休眠 3.6.8。
有没有办法在不实现我自己的NativeQuery
类的情况下对这些本机查询做出反应(EntityManager
上帝知道我需要多少类才能让整个事情再次工作)?
jpa - jpa 和本机查询
我在原生查询中遇到了一件奇怪的事情:
如果我尝试使用如下命名的本机查询
该应用程序无法运行,我有
但是,如果我不使用 NamedNativeQuery 并且仅创建如下动态本机查询,则相同的查询可以正常工作:
为什么?我对 NamedNativeQuery 做错了什么?谢谢
更新: 实体类如下
jpa - JPA:@SequenceGenerator 没有生成序列
我的应用程序已将 JPA 与 Hibernate 供应商和 Oracle 11G DB 一起使用。
在这里,我在我的 MST_EMP 表上使用如下本机查询..
这是我的 MST_EMP 实体详细信息..
据我了解,我们不需要在本机查询中为 EMP_CODE 赋予值。因为序列与它相关联。
但是这个查询给了我这样的错误..
谁能告诉我,我们需要在本机查询中提供 EMP_CODE 吗?
请问原生查询,不引用Entity中自动声明的序列?
谢谢。
java - 获取 JPA 本机插入查询的生成标识符
出于性能原因,我需要使用一些本机查询将新对象插入数据库。我有一个非常复杂的 JPA 持久层,它管理我通常的实体读取和写入,我想使用这个持久层来运行本机查询。
我知道我需要 EntityManager#createNativeQuery(String) 和 Query#executeUpdate 方法来实现我的目标。
我目前的问题是我还想获取新插入行的生成标识符。我知道使用 JDBC 或 SpringPersistence 可以做到这一点,但是有没有办法从 JPA 原生查询中获取这些标识符?
sql - 我的 JPA 原生查询中会发生什么?
我在 mysql 上使用这个查询(tbl1 中的每条记录都有 tbl2 中的记录列表):
结果是真的,但是当我在我的应用程序中将它用作本机查询(javax.persistence.EntityManager#createNativeQuery())时,tbl2.id 会重复。问题是什么?
结果是这样的:
但我希望:
我的代码是这样的:
List<MyDTO> foundList = (List<MyDTO>) entityManager.createNativeQuery("the query above",
MyDTO.class).getResultList();
java - java对象到日期或日期时间的转换
我有一个内部连接表的查询:
List<Object[]> resultList = entityManager.createNativeQuery(SOME QUERY).getResultList();
当我尝试访问Object[]
其中一个元素时,Date
我尝试这样做:
这给出了明显的例外:
nested exception is java.lang.NumberFormatException: For input string: "2012-11-20"
我改变Date
了DateTime
得到TO_CHAR(createdDate,'DD.MM.YYYY:HH24:MI:SS')
并尝试了以下代码:
这种方法的结果:createdDate = null
有什么建议么 ?