问题标签 [jpa-criteria]

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

jpa - Spring JPA Criteria with Repository, ManyToOne, Select on field of join table

我正在尝试创建一个 JPA 谓词以用作我的 JPA 存储库中的参数,以便根据连接表中的字段返回结果。它实际上从不过滤任何东西。我得到了主表的所有对象。JPA 标准似乎是适合这项工作的工具,因为实际应用的应用程序有许多不同的条件,并且是一个动态查询。

代码:

测试

数据

休眠查询输出:

我不是最熟悉连接的人,但交叉连接似乎不合适,根据我的理解,这可能是问题的一部分。

测试输出:

我期望的结果是名为 'foo 1' 的 Foo

0 投票
2 回答
8803 浏览

spring - Spring data jpa 规范:如何通过子对象属性过滤父对象

我的实体类如下

现在我想获取特定区域的所有用户。我知道 sql 但我想通过 spring data jpa Specification 来做到这一点。以下代码不应该工作,因为区域是一个列表,我正在尝试与单个值匹配。如何获取区域列表并与单个对象进行比较?

编辑:感谢您的帮助。实际上我正在寻找以下 JPQL 的等效条件查询

0 投票
3 回答
6284 浏览

java - JPA - 如何使用规范和@EmbeddedId 进行查询?

我正在使用使用规范检索实体的 JPA 查询。当我执行查询时,我收到错误:

org.springframework.data.mapping.PropertyReferenceException:找不到类型任务的属性名称!

我已经查看了之前在此站点上提出的类似问题的答案,并尝试对我的代码进行建模以遵循推荐的模式,但代码仍然失败。

当我使用调试器单步执行代码时,条件构建器中的扩展路径返回嵌入的 ID 类,但是当查询中实际使用规范时,看起来该属性正在应用于基本实体类。

我错过了一些明显的东西吗?

这是实体类:

这是嵌入的 ID 实体类:

这是与嵌入的 id 'name' 属性匹配的规范生成器:

查询在存储库上执行如下:

存储库本身非常简单:

** EDIT将方法添加到存储库,如下所示**

0 投票
2 回答
7426 浏览

java - 使用 JPA 2.1 Criteria API 之间的 LocalDate

在我的实体中,我有两个字段:

使用 JPA Criteria API 我想选择实体 whereLocalDate.now() > startDateLocalDate.now() < endDate.

我尝试如下:

但我得到这个错误:

我也试过这个:

我在哪里得到以下错误:

我该如何解决这个问题?

0 投票
1 回答
1761 浏览

java - 如何使用 JPA Criteria API 进行过滤排序?

我有以下类描述的实体映射数据库:

我正在使用 JPA Criteria API 来过滤和排序我的数据。排序和过滤参数动态变化并从 db 我使用 Spring Data JPA Page<S> findAll(Example<S> example, Pageable pageable)( doc ) 获取结果。它适用于基本排序,但是当我想MyTableMyItem.id某种类型排序时遇到问题。示例:每个容器有 2 个不同类型的项目,我想按只有一种类型的项目 ID 对表进行排序,而忽略第二个值。甚至可以使用 Spring Data JPA 完成这种排序吗?

编辑:我在这里需要一种动态方法,因为我的排序可以通过用户选择的各种字段来完成,这一点很重要。

0 投票
2 回答
2959 浏览

spring - 如何使用 spring data jpa 中的规范获得最佳结果?

我对spring data jpa很陌生。我正在尝试在查询数据库时使用规范。我的问题是使用 crudrepository 我们可以像这样:

我怎样才能达到相同的使用规范?我可以做一些基本的事情,比如和或规范,但不像我们可以用标准等做的那样健壮。

0 投票
2 回答
3291 浏览

java - 使用 MYSQL 的 Spring JPA 规范全文搜索

我正在尝试使用 Spring JPA 规范创建全文搜索。我要完成的查询如下。

如何在 Spring JPA 规范中编写此查询,允许我传递我的“searchText”值?这是我迄今为止的尝试。

然后可以通过调用来使用它:

我第一次尝试使用的文章:http: //pavelmakhov.com/2016/09/jpa-custom-function

0 投票
0 回答
279 浏览

spring - 将数字字段转换为特定长度的 varchar

id我想连接到其他字符串的实体中有一个数字字段。现在我正在做:

那行得通,它被翻译成CAST(mytable.id AS VARCHAR(255).

我希望能够将其转换为长度为 20 的 varchar VARCHAR(20),因为查询的性能呈指数级提高。

关于如何做的任何想法?

0 投票
2 回答
5148 浏览

spring-boot - 如何在 Spring Boot CrudRepository 中搜索数组

说,我有以下实体类:

人.java

和存储库:

PersonRepository.java

是否有一种方法可以返回所有人,其汽车数组包含一辆给定的汽车(上面的字符串参数)?

对我来说,似乎所有受支持的 JPA 关键字都只能处理单个元素,而不能处理数组。

感谢帮助!

0 投票
2 回答
2107 浏览

java - JPA Criteria API 过滤子实体

代码示例:

在我的数据库中,我有下一个:

将我的规范代码与 data='01-01-2018' 一起使用,结果我得到了一个相同事件对象的列表,并且列表的大小是连接对象的计数,它们满足子句 Action.date = criteria.date:

我需要得到下一个结果:

我试图添加

它修复了结果列表大小 -

但我仍然得到事件 1 的所有 3 个动作。

问题是:

是否可以仅获取包含具有所需日期的操作的事件,并且每个事件仅包含一个包含具有请求日期的操作的列表?