问题标签 [mysema]

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

java - 如何在 mysema 框架中使用 SimpleExpression.eqAny?

我正在查看我的查询中的过滤以返回locations与查询位置相交的实体。从方法签名看来,eqAny方法是要走的路。

唯一的缺点是它不接受集合,而只接受 CollectionExpression。如何从我的收藏中创建 CollectionExpression?

我的(非编译)代码是这样的:

0 投票
1 回答
1482 浏览

spring-data - QueryDSL,Spring Data:使用 Predicate 在常量和数据库值之间选择日期时间

您好我想为 spring 数据 QueryDSLRepository 生成一个谓词,它将生成以下查询(或等效):

该查询的含义是:获取所有密码即将到期的用户

并且即将到期我的意思是 - 密码到期日期介于现在和(现在 - PASSWORD_POLICY 表中的 EXPIRATION_WARN_PERIOD_IN_DAYS )

是否可以?

0 投票
1 回答
2983 浏览

java - 在时间范围内按小时查询DSL

我有以下 SQL 查询来按一天中的订单日期和小时对订单进行分组:

结果示例如下:

该查询使用 SQL 开发人员按预期工作。在 QueryDSL 中,我提出了以下查询:

to_char 是我在此线程中找到的一种方法:https ://groups.google.com/forum/#!msg/querydsl/WD04ZRon-88/nP5QhqhwCUcJ

我得到的例外是:

java.sql.SQLSyntaxErrorException: ORA-00979: 不是 GROUP BY 表达式

我尝试了一些查询的变体,但一点运气都没有。

有谁知道为什么查询失败?谢谢 :)

0 投票
0 回答
221 浏览

hibernate - Querydsl StringExpression containsIgnoreCase encoding

我搜索了很多解决方案,但我找不到它。我的问题是,当我尝试使用 containsIgnoreCase 和土耳其字符 'İ' querydsl 搜索人名时,将 'İ' 转换为 'i̇' 我不知道如何解决这个问题。

这是查询:

0 投票
0 回答
77 浏览

sql - 将 BooleanExpression 集成到 SQL 查询中

这是我的情况:

我想做的是把我的 BooleanExpression 计算成“哪里”......有什么建议吗?

0 投票
0 回答
793 浏览

java - QueryDSL (mysema) 中的嵌套投影

我正在使用 mysqma.querydsl 4.1.4 版编写查询,我需要投影直接属性(attrs)和嵌套属性以及这些嵌套属性的一些属性,而不是所有属性。

我有两个实体:

我的查询是:

但这会引发异常:

这是一个例外:

关于如何修复此代码的任何想法?

谢谢!!!

0 投票
3 回答
6766 浏览

hibernate - 如何使用 mysemma 记录从 querydsl 后台生成的 sql 查询

显示使用 mysemma 的 querydsl 时自动生成的 sql 查询的任何最佳方式,以便可以轻松查看这些 sql 查询,并且在使用 querydsl 时可以轻松调试 sql 查询。

例如:from(qCustomer).where(qCustomer.custId.eq("1"));

我需要知道幕后生成的 sql 并且想要记录,以便我可以轻松地调试我的应用程序。

0 投票
0 回答
868 浏览

spring-boot - 为什么我从 com.mysema.querydsl 包迁移到 com.querydsl 有一些问题?

  1. 我在使用 com.mysema.query 包时尝试使用以下方法。

    QueryDslRepositorySupport.getQuerydsl().applyPagination(pageable, query);

但是,当我将 com.mysema.query.jpa.JPQLQuery 对象传递给该方法时,它抱怨它需要 com.querydsl.jpa.JPQLQuery 对象。

为什么这样做?我没有在我的项目中使用 com.querydsl 包。因此,它应该能够与 com.mysema.query 包一起正常工作,理想情况下,查询参数应该是 com.mysema.query.jpa.JPQLQuery 类型的对象

  1. 如果不更改项目中的包,我该怎么办?

还是建议在 springboot 项目中同时使用这两个包?

  1. 除了 Mysema 和 Querydsl 对软件包的所有权之外,这两者之间的真正区别是什么?

  2. 从 com.mysema.querydsl 迁移到 com.querydsl 后我面临的另一个问题 - 这种方法给了我一个编译时错误 -

    jpaQuery.from(qClass1, qClass2, qClass3)

我的 Qclasses 属于 EntityPathBase 类型,其中 com.querydsl.JPAQuery 的 from() 方法需要 EntityPath 类。

我使用以下插件重新生成了我的 QClasses,但 QClasses 仍然扩展了 EntityPathBase,而不是 EntityPath(一个接口)

0 投票
0 回答
899 浏览

java - Mysema Querydsl - 枚举到字符串

例子:

如上例所示,我想在 DTO 对象中获取枚举 ShapeType 的字符串值。这种转换应该是什么样子?我在上面的示例中尝试过并且看起来不错,但是当我使用 shapeType.stringValue() 然后 Hibernate 使用调用函数 to_char(Oracle) 或 str (Sybase) 创建查询时,例如:

为什么?如何解决?

0 投票
0 回答
293 浏览

java - 在 jpa mysema 查询中使用空值左连接

左连接不检索空值

当 ABname like "%pac%" OR ACname like "%pac%" 时,我需要获取所有记录 A

生成的查询是

count 只返回 2 条记录,但我有 10 条 A 类型的记录,B.name like='pac'。

C列中只有2条记录不为空,但这是带有OR条件的左连接

为什么不返回 10 条记录?

如果我在数据库中执行查询,它会返回 10 个寄存器