问题标签 [criteriaquery]

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

java - 使用查询生成器查询从另一个表链接的表中的所有行

我有一张有几行变量的表。此行中的一个链接到具有更多行的另一个表。

说清楚一点,1个表叫做Connection。变量是:

组名应链接到名为 ConnectionGroup 的第二个表。变量是:

我的想法是按名称查询 ConnectionGroup 表。Connection 和 ConnectionGroup 的抽象类是这样的:

要查询这个,我假设我必须加入这 2 个表,然后只查询它们。这是我尝试过的代码:

我尝试过的事情,改变了这一点:

对此:

改变这个:

对此:

当我尝试这些方法时,我不断收到异常Cannot join to attribute of basic type

我还尝试将代码更改为:

哪个返回异常:

query specified join fetching, but the owner of the fetched association was not present in the select list

我使用这些站点作为参考来编写代码:

JPA CriteriaBuilder 使用获取连接和结果对象

JPA 2 Criteria Fetch Path Navigation

wiki.eclipse.org

开发者网

如何从 ConnectionGroup 表中查询名称?我的方法错了吗?

0 投票
2 回答
2129 浏览

java - CriteriaQuery multiselect - Runtime constructor error

I am using CriteriaQuery to create TypedQuery with specific class type. And I need just several columns from the class type. I am selecting those columns trough multiselect method but I am struggling with RuntimeException below. It is saying that the system cannot fine the constructor. However, I create the constructor.

Please, give me advice about this issue.

Create query with criteria.

Here is the Constructor.

This is the exception I have got.

I already create the constructor. Could anybody let me now what do I have got this run time error?

0 投票
0 回答
1280 浏览

java - 如何让 JPA CriteriaQuery 过滤抽象类子类属性

我无法使用 builder .treat() 方法获取 JPA 查询以将AbstractAddress实体转换为其子类。AddressStd

背景

我使用 JPA 2.1(带有 Hibernate 5.0.2 FINAL)来映射一个遗留数据库,其中 aCustomer有 0:n 联系人,每个Contact都有一个AbstractAddress子类型AddressStdAddressPOB(邮政信箱)。Contact 有额外的属性,但为了简单起见,它们没有在下面显示。

领域模型

JPA 查询

构建查询用于检索AbstractAddress属性 ( city, postcode, country, language, isActive),但我无法让它分别检索AddressStd( houseNo, street) 和AddressPOB( poBoxNo) 的子类属性,就像语句一样

引发运行时异常

我之前使用过 builder .treat() 方法来转换类型,它工作正常。但在这种情况下 .treat() 无法将地址转换为AddressStd.class? 你们中的任何一个 JPA 大师都知道为什么,非常感谢,DaveT。

在此处查看 CriteriaQuery 构建器代码

0 投票
0 回答
268 浏览

sql-server - 是否有从客户端(HTML 表单)发送 SQL 查询的动态搜索参数的标准方法?

我想了解如何根据最终用户的搜索条件编写可用于检索行的动态 SQL 调用。我特别想知道如何构造从客户端发送到服务器的数据。我将把这个问题限制在单个表搜索中。

通常,当我从客户端发送搜索条件时,它是简单的预定数据。例如通过 ID 获取项目,或者获取时间戳大于给定时间的项目。这些参数可以很容易地附加到准备好的语句中。但是,现在我需要让用户选择他或她想要的搜索参数,以搜索单个表 搜索数据的方法有很多。以下是我能想到的几个例子:

  • 数字、字符串、日期等等于。特定的ID,注册等。
  • 从 x 到 y 范围内的数字、字符串日期等。 寻找某个年龄段的人,或预订一段时间。
  • 列表中的数字、字符串、日期。寻找是北约国家之一公民的人。

换句话说,对于我发送的每个参数,我还需要发送参数属于哪个列的元数据,以及应该如何使用这些参数。到目前为止,我已经发送了一组固定的搜索参数作为键值对,服务器端将知道哪种数据类型以及它应该被解释为哪种验证类型。现在我需要发送也包含这种信息的对象,因为用户可以自己决定要发送多少列参数。

因此,对于每个查询,除了要返回哪个表和哪些列之外,我还需要了解每个查询条件的以下内容:

  • 检查哪一列
  • 要执行什么类型的检查(等于、喜欢、介于、大于、在列表中等)
  • 上面还需要对应参数数据结构(equals有一个单值, between/range应该有两个,list有1-*)
  • 参数/列的数据类型 (?)
  • 可能还有排序标准。

现在我可以将它作为纯 JSON 发送,并创建我自己的解释器服务器端,它可以使用 ORM 生成 SQL、JPQL 或条件查询。最后一个是我可能的选择。然而,我确实有一种感觉,必须有一个标准的解决方案来将这样的动态 SQL 查询数据从客户端发送到服务器端。以约会网站为例,用户可以在其中根据无数可能的选项搜索可能的合作伙伴。有这么多的应用程序,如果没有标准的解决方案,我会感到惊讶。

0 投票
0 回答
35 浏览

java - 如何使用 JPA CriteriaQuery 实现连接或关系

我的数据库中有三个表,如下所示:

我的 SQL 查询是:

如何使用 JPA(Hibernate) CriteriaQuery 实现这一点。

0 投票
2 回答
1163 浏览

java - 如何将 JPA 调整为 Criteriaquery

我有这个Java代码:

我想做一个标准查询:

但是如何size(s.passageCollection) > 0处理关键查询?

谢谢。

0 投票
1 回答
337 浏览

hibernate - 在 CriteriaQuery 中添加 sql 注释,使其在 mysql 慢日志中可见

我想在 CriteriaQuery 中的查询中添加一个人类可读的字符串(jpa with Hibernate 4.3.7 Final)

看起来像的东西

允许我在我的应用程序中跟踪来源或某些慢查询。

干杯

0 投票
2 回答
481 浏览

java - 如何使用 CriteriaQuery 生成“select count(*) ...”

我编写了以下代码来获取“ ExampleEntity ”的计数:

生成的sql: 休眠:从EXAMPLEENTITY exampleen0_中选择count(exampleen0_.id)作为col_0_0_

但是,出于性能原因(使用 Oracle 11g 数据库),我需要生成以下 sql:

所需的sql:从EXAMPLEENTITY exampleen0_中选择count(*)作为col_0_0_

创建 JPQL 查询非常简单,但我必须为过滤器重写大量现有代码。

如何使用 CriteriaQuery 生成“count(*)”而不是“count(exampleen0_.id)”?

0 投票
1 回答
546 浏览

java - JPA Criteria 查询双连接和休眠错误 with-clause

基于这个答案https://stackoverflow.com/a/2111420/3989524我首先创建了一个工作 SQL:

然后是一个条件查询,它看起来会产生一个等效的 HQL(最后),但是 Hibernate 会抛出一个错误:

org.hibernate.hql.internal.ast.QuerySyntaxException:with-clause 引用了两个不同的 from-clause 元素

错误消息中的 HQL:

条件查询:

反正有没有得到我想要的东西,或者没有其他方法可以解决一些内部休眠错误。

0 投票
0 回答
654 浏览

java - 将 Hibernate Criteria 转换为 JPA CriteriaQuery

我正在寻找一种解决方案来“轻松”将 Hibernate Criteria 代码转换为 JPA Criteria Query 代码,而无需一对一地重写所有内容。是否可以将 Hibernate Criteria 转换为 SQL 查询,然后在 JPA Criteria Query 中重用它?欢迎任何其他解决方案。

更具体地说,我有一个返回 Hibernate Criteria 对象的复杂方法。我们希望只使用 JPA,但这种方法太敏感,无法用我现在的时间进行重构。因此,最好找到一种有效的方法来“转换”这个 Criteria 以供 JPA Criteria Query 重用。