问题标签 [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 投票
3 回答
20238 浏览

spring-boot - JPA 规范示例

春季启动在这里。我试图绕开我的头JpaRepositoriesSpecifications当在实现复杂查询的上下文中使用时,我正在努力在几个项目上看到“森林穿过树木”。

a 的典型示例Specification如下:

在这个toPredicate(...)方法中,Root<Person>andCriteriaQuery代表什么?最重要的是,听起来您需要为要应用的每种Specification类型的过滤器创建一个impl ,因为每个规范都被翻译成一个且只有一个谓词......所以例如,如果我想找到所有姓氏的人“Smeeb”,年龄超过 25 岁,听起来我需要写 a和. 有人可以为我确认或澄清这一点吗?!LastnameMatchingSpecification<Person>AgeGreaterThanSpecification<Person>

0 投票
1 回答
526 浏览

hibernate - Spring Data JPA 'AND' 查询组合

我的 Entity 类有四个实例变量:

参考 ID、计费 ID、客户 ID 和配置文件 ID。

它们都是字符串变量。

我至少需要其中一个是强制性的。然后我将进行选择查询。

如果填充了多个值,那么我想将它们组合成“AND”条件,然后执行选择查询。即,如果填写了帐单 ID 和客户 ID,则选择 * from ... where billingID ="..." AND customerID = "..."

同样,如果填充了三个值,则三个变量之间应该存在“与”条件。

我有一个扩展 crud 存储库的存储库类。

除了编写多个查询方法(即 findByBillingID、findByBillingIDAndCustomerID 等)之外,还有更简单的方法吗?

0 投票
2 回答
1992 浏览

java - 如何去除 JPA Criteria API 中的重音符号

我正在使用 JPA Criteria API,并且我想选择我有像给定字符串这样的列数据的出现,这就是我在 SQL 中的操作方式:

例如,我有一行 where myTable.Lib = 'métier',所以当 is 的值时myString'met'应该选择返回该行,因为CONVERT(myTable.Lib, 'US7ASCII')在这种情况下将返回'metier'

这就是我建立标准的方式:

我该如何解决这个问题?

0 投票
1 回答
5948 浏览

java - Criteriabuilder 在两列上相等

使用 Criteriabuilder 编写查询时,如何在两列上添加相等条件?例如:

执行上述操作导致异常:

java.lang.IllegalArgumentException:参数值 [org.hibernate.jpa.criteria.path.SingularAttributePath@236f0ece] 与预期类型不匹配 [java.lang.String (n/a)]`

0 投票
1 回答
107 浏览

hibernate - Hibernate 使用 Criteria API 向数据库发送太多查询

我的印象是,通过获取 hibernate 会减少查询的数量,但显然情况并非如此。

这是我的根类:

请注意我所有的关系都是双向的

这是我的标准 API 查询:

这是发送到数据库的查询:

问题:如何更改标准 API 以减少发送到数据库的查询数量?

注意:理想情况下,我只想发送 1 个查询

0 投票
1 回答
3491 浏览

spring - 春季数据 jpa 规范连接提取不起作用

我正在尝试使用 Spring Data JPA Specificationiton 来查询数据,但我在这里遇到了一些问题。Java代码如下:

当我注释代码“recipientNoticeJoin.fetch(UserNoticeEntity_.user, JoinType.INNER);”时,它工作正常,但是当我取消注释时,我会得到错误:

所以,我想知道使用规范方式是否支持join fetch,或者我的代码有问题。我知道使用@Query("some hql") 还有另一种方法,但不知何故我更喜欢使用规范方式。非常感谢。

0 投票
1 回答
262 浏览

spring - 使用 Spring 数据规范的实体 JOIN

我目前正在处理 Spring Data JPA 规范。我遇到了以下问题:如何仅使用 JPA 规范定义以下 SQL 连接?

请注意CompetitionParticipationTeam是 JPA 实体 ( @Entity)!

0 投票
1 回答
386 浏览

querydsl - JPAQuery 到 JPASubQuery,反之亦然

有什么办法可以JPASubQuery从 a中得到 a JPAQuery,反之亦然?我有一个JPAQuery并且我想将它重用为子查询,但似乎两者之间没有任何类型的通用接口,因此我可以执行此转换。该查询非常大,除了将整个事物重写为子查询(实际上是复制相同的from部分)之外,它得到的任何东西都很好。所以我正在寻找这样的东西:

0 投票
0 回答
227 浏览

java - CriteriaBuilder 将日期转换为长

我有下表:

PreVenda.class

我很难将日期转换为数字格式(仅限数字),我正在尝试这种方式:

这正在返回一个强制转换异常,有人知道如何解决这个问题吗?

0 投票
0 回答
709 浏览

hibernate - Hibernate 5 标准加入一对多关系

加入查询代码

学校班级结构

学生班级结构

数据

  • School1 -> 约翰、马修、威廉、梅根、黛西
  • School2 -> 约翰、威廉、萨曼莎
  • School3 -> 黛西,马修

加入休眠代码的实际结果

  • School1 -> 约翰、马修、威廉、梅根、黛西
  • School2 -> 约翰、威廉、萨曼莎

预期结果

  • School1 -> 约翰
  • 学校 2 -> 约翰

休眠加入让我获得所有学生名为“约翰”的学校。但是当我访问学校对象内的学生对象列表时,它有所有名字的学生。我正在努力实现低于预期的结果。让我知道我在这里做错了什么。提前致谢