问题标签 [named-query]

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 投票
2 回答
8784 浏览

hibernate - JBoss/Hibernate IllegalArgumentException:未找到命名查询

我是 Java EE 的新手,在使用命名查询时遇到了一些麻烦。我们使用 JBoss 6 和 Hibernate 3.6 (JPA 2.0)。实体是通过注释而不是在 persistence.xml 中配置的:

部署包含实体的 jar 时,JBoss 日志告诉我们,命名查询已绑定:

不幸的是,在使用命名查询时,我们总是遇到 IllegalArgumentException:

使用命名查询的无状态 bean 与节点实体在同一个 jar 中。调用无状态 bean 的应用程序位于部署的不同 war 文件中。

有人知道我做错了什么吗?谢谢您的回答。

这是persistence.xml:

0 投票
1 回答
18289 浏览

java - 使用 mockito 进行命名查询测试的参数

我想为我的 dao 写一个 Junit 测试,但是我有一个问题。这是我要测试的方法:

这种方法的问题是:

当我写类似的东西时:

查询和 entityManager 是模拟的。我有 NPE,这并不奇怪,我无法调用该方法,因为查询是和接口。那么有人可以告诉我在测试时在 NamedQueries 中设置参数的最佳方法吗?

0 投票
1 回答
6351 浏览

hibernate - JPA2 错误验证:无法解析状态字段

我有一个我无法摆脱的错误,但代码同时工作。

Eclipse 给我的错误是这样的:

状态字段路径“d.docteur_ID”无法解析为有效类型。

这个查询我也遇到了同样的错误

0 投票
2 回答
904 浏览

java - Java EE 命名查询连接

我有两个实体

这创建到表:带有 id 和 ... 的 tabulka 和带有 id .. 和 id_tabulka 的 VysledkyHraca

如果我想检索所有 tabulka ......好吧,这很容易:

但现在我想检索所有 tabulka 然后列出 VysledkyHraca

我试试这个@NamedQuery(name = Tabulka.Q_GET_ALL_JOINTABULKY, query = "SELECT t FROM Tabulka t join t.vysledkyHraca"),但它不起作用。谢谢帮助

0 投票
1 回答
1490 浏览

java - 命名查询的优缺点

将查询作为 NamedQueries 而不是实体有任何显着优势吗?如果没有,我们可以在 DAO 本身中拥有它。请在这方面提出一些想法。

0 投票
3 回答
1290 浏览

hibernate - Hibernate 上更复杂的命名查询

我有一个查询,它从 2 个不同的表中聚合和分组:

SELECT co.name AS companyName, f.destination_id, COUNT(f.id) AS numberOfFlights FROM companies co INNER JOIN flights f ON co.c_id = f.company_id GROUP BY co.id, co.name , f.destination_d

而且,我想将它作为命名查询保存在 xml 映射文件中。我的问题是: 1. 虽然如您所见,并非所有结果字段都是任何表中的实际列 - 我如何将其告知地图文件?2. 我应该将它保存在哪个 xml 中 - 在 compant.hbm.xml 或 flight.hbm.xml 上,或者 - 有没有办法将它保存在 hibernate.cfg.xml 中?

我在网上搜索了高级示例,但找不到任何与这种并发症相匹配的东西(尽管它并不那么复杂......)。

谁能给我一个可以学习的好例子,或者可以自己指导我吗?

0 投票
1 回答
421 浏览

hibernate - Oracle存储函数的一个参数为空时抛出的异常

我想使用命名查询调用 PL/SQL 函数。其中一个参数给我带来了问题。在 PL/SQL 定义中,它的类型是 NUMBER。这是设置它的 Java 代码: q.setParameter (Test.DISTRICT_ID_PARAM,districtId); 并且districtIdLong.

districtId不为空时一切正常,但当它为空时,结果如下: org.hibernate.exception.SQLGrammarException: could not execute query

我确信管道没有问题,因为查询在districtId不为空时运行良好。

0 投票
5 回答
21364 浏览

java - JPA命名查询与标准API?

Criteria APINamedQuery之间的决策是否有启发式/最佳实践/规则集?

到目前为止我的想法:
命名查询通常更具可读性。条件查询更加灵活。
两者都是预编译的。我倾向于尽可能长时间地使用命名查询,然后更改为条件。

但也许通过使用标准 API 来“灵活”查询的冲动是对次优设计(即关注点分离)的暗示?

谢谢

0 投票
1 回答
2661 浏览

hibernate - Calling Stored Procedure using NHibernate as a Named Query with Input Parameters

Problem Description:

I am trying to execute a stored procedure with an input parameter. The stored procedure executes correctly when run from MSSQL 2008 SQL Studio. However I get an error while running it as a named query using NHibernate.

I get the error at the time of SessionFactory configuration. Hence I believe that I am not mapping the named query correctly.

Stored Procedure Details:

Name of the Procedure : CASCADE_POSITIONTEMPLATE_PERMISSIONS
Input Parameter : PositionTemplateId

The stored procedure returns a count which I want to return encapsulated in the PositionTemplateUpdateCascadeResult class which has the specified property.

Named Query/Class Mapping:

Named Query Mapping:

Following is the class which I want to be returned:

when I execute the procedure in MSSQL Studio as:

I get the following

enter image description here

Let me know if any thing else is needed.


EDIT: I was able to make this work when I removed the return class: Following mapping works correctly:

Should the return class be an entity which is mapped to a table? In my case it is a simple class. I was of the opinion that the return class is just used like we use ResultTransformer.

0 投票
2 回答
7209 浏览

hibernate - Hibernate 会话工厂未找到在 DAO 注释中定义的 NamedQuery

我使用 Spring 和 Hibernate。在我的 DAO 中,我定义了一个会话工厂找不到的 NamedQuery,尽管我已将该 DAO 的包添加到 packagesToScan。

我的道:

这里是用于提供会话工厂的 Spring config 方法:

这里抛出的异常:

由于一些类似的 stackoverflow 问题,我将 hibernate @NamedQuery 注释替换为 JPA 等效项。没有帮助。