问题标签 [criteria-api]

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 回答
291 浏览

nhibernate - 使用 Criteria API 查询多对多而不选择所有对象

我在项目和站点之间有多对多的关系。我正在尝试使用 Criteria API 检索项目的站点列表。我已经完成了这项工作,但查询还选择了相关项目的所有列,这是我不想要的。我使用 HQL 编写了我认为是等效查询的内容,它只选择站点列。

如何限制 Criteria API 版本 (target2) 以仅选择站点列?我尝试使用 Projections,但没有方法可以投影类型。在这种情况下,我必须使用 Criteria API。

0 投票
1 回答
2979 浏览

java - JPA-2.0 简单的 Select-Where 问题

我遇到了一个关于 JPA-2.0 查询与关系的问题。怎么可能选择任何Dataset至少有一个Eventwith type = B

我的出发点是

对此有任何想法。我试图创建一个子查询和一个连接,但不知何故我做错了,结果总是得到所有数据集。

0 投票
1 回答
8260 浏览

java - 在 List 属性上使用没有元模型的 JPA2 标准 API

如何在不使用元模型类的情况下制定以下 JPA2 标准查询:

我想使用:

但我不知道如何将路径转换为表达式,这是 cb.isEmpty 所需要的......

谢谢。

0 投票
2 回答
8499 浏览

java - JPA 2 -- 在 CriteriaQuery 中使用 @ElementCollection

给定以下结构,我想执行与以下 SQL 等效的 HQL 或 CriteriaQuery:

我想取回与给定人员关联的位置列表,其创建日期在给定人员之后。

提前致谢!

标记

编辑***:我已经编辑了 SQL,因为它有点误导。我不想单独查询位置。

0 投票
1 回答
448 浏览

nhibernate - 根据枚举的枚举使用 ICriteria 限制 NHibernate 查询

我有一个实体,具有枚举类型的字段,在我的数据库中以整数形式保存。

当使用 ICriteria 从数据库中检索对象时,我希望将结果限制为那些字段是枚举值集合成员的结果。Restrictions.In 是否与枚举集合一起使用?

以下不起作用。我是否必须在查询的“restrictions.in”部分执行类型转换之类的操作?

FindAll 是一个封装方法

0 投票
1 回答
6084 浏览

java - JPA 2 + Criteria API + 获取子查询中最旧的元素

我有两个实体(DatasetItem),其中第一个包含后一个的列表。

我现在正在寻找任何 dataset,它引用了someCriteria = 'x'作为数据集列表中最旧的项目的项目(它的日期早于该数据集引用的所有其他项目)。

这应该适用于 JPA-2.0 的 Criteria API,但作为 SQL 查询的答案也可以。

这就是它现在的样子:

我想创建一个子查询,按日期排序并检查第一个。不幸的是,JPA-2.0 不允许在子查询(或连接)中排序(据我所知)。我的第二个想法是getting MAX(date),大多数数据库都应该支持它。这里也一样,对 MAX、ABS、... 的支持仅适用于数字。

编辑:使用排序的子查询,它看起来像这样(MSSQL):

(如何)我可以在 JPA-2.0 中做到这一点吗?

0 投票
2 回答
19745 浏览

hibernate - org.hibernate.QueryException:并非所有命名参数都已设置

我在以 Hibernate 3.5.1-Final 作为提供者的 JPA 2.0 Criteria API 中得到了非常奇怪的行为。

我正在尝试在 JPQL 中构建一个看起来像这样的动态查询:

但不断收到错误

如果我拿走它的路径,lastName它就可以正常工作。难道我做错了什么?以下是所涉及的类和查询。谢谢!

AbstractEntity.java:

}

员工.java:

}

EmployeeService.java 方法:

0 投票
9 回答
22412 浏览

java - 未填充 JPA/Hibernate 静态元模型属性——NullPointerException

我想将 JPA2 Criteria API 与元模型对象一起使用,这似乎很容易:

但是这个 Root.get 总是抛出一个NullPointerException. JPAAlbum_.theme由 Hibernate 自动生成,看起来像

但它显然从未有人居住过。

我错过了框架初始化的一步吗?

编辑:这是我在崩溃时如何使用 JPA 和元模型的片段:

JPAAlbum_是一个类,所以我刚才import)和相关的堆栈跟踪:

编辑2:

在 JBoss EntityManager 指南中,我可以看到

当构建 Hibernate EntityManagerFactory 时,它将为每个已知的托管类型查找规范元模型类,如果找到任何它会将适当的元模型信息注入其中,如 [JPA 2 规范,第 6.2 节中所述.2,第 200 页]

我也可以验证

Hibernate 知道我的元模型,属性名称是写的,但是

仍然绝望地空着......

EDIT3:这里是JPAAlbum 实体及其元模型类

我还能说什么关于我的配置...

  • 我使用 Hibernat 3.5.6-Final(根据 META-INF/MANIFEST.MF),

  • 在 Glassfish 3.0.1上部署

  • 来自 Netbeans 6.9.1

  • 并且该应用程序依赖于 EJB 3.1

我希望它会有所帮助!

编辑4:

不幸的是,JUnit 测试导致了同样的异常:

此处/ tarball提供了一个更简单的项目。它只包含我的实体及其元模型,以及一个 JUnit 测试(foo 与元模型崩溃,bar 与通常的 Query.

编辑 5:

您应该能够通过下载tarball并构建项目来重现该问题:

并开始 JUnit 测试net.wazari.dao.test.TestMetaModel

(编辑runTest.sh以将 CLASSPATH 指向您的 JUnit4-5 jar 的正确位置)

我使用的所有休眠依赖项都应该包含在存档中。

0 投票
2 回答
29288 浏览

java - 使用什么:JPQL 或 Criteria API?

我的 Java 应用程序使用 JPA 进行对象持久性。业务领域非常简单(只有三个类是持久的,每个类有 3-5 个属性)。查询也很简单。问题是我应该使用哪种方法:JPQL 还是 Criteria API?

0 投票
1 回答
11024 浏览

java - 具有多个连接的 JPA 标准构建器

我正在努力创建一个使用多个表的 jpa 查询。我似乎无法理解如何将表格连接在一起。这是我要创建的查询:

我尝试了几种方法,从使用连接运算符到在键上使用 where 运算符。我在网上找不到足够的关于加入的信息来帮助很大。一旦我尝试加入超过 1 张桌子深度,我就会陷入困境。一些建议或技巧真的很有用。谢谢