问题标签 [querydsl]

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 投票
2 回答
2159 浏览

ibatis - 是否有任何类似于 MyBatis 中的 Criteria API 的功能,或者任何像 QueryDSL 这样的包装器来提供该功能?

JPA/Hibernate中,我们可以编写类型安全的查询并一次一步累积我们的查询谓词。我相信在 中没有等价物MyBatis,但是否有任何抽象框架(如QueryDSL)提供上面的层MyBatis,使我们能够编写类似条件的查询。我想要条件 API 的基本原因是我需要构造一个查询,每个查询的谓词都来自一个单独的逻辑。

0 投票
1 回答
1888 浏览

java - 如何告诉 querydsl-maven-plugin 使用 Long 而不是 BigDecimal 生成 NumberPath?

我正在使用querydsl-maven-plugin以从 Oracle 11g 数据库中导出 Q 路径。我面临的问题是 OracleNUMBER字段被映射到 NumberPath<java.math.BigDecimal>而不是NumberPath<Long>

有什么方法可以指示在代码生成过程中进行querydsl-maven-plugin翻译吗?BigDecimalLong

我现在采用的方法是使用插件生成代码,然后手动转换类型。

任何提示将不胜感激。

0 投票
1 回答
970 浏览

spring - hibernate @ManyToOne 没有表关系

目前使用:

  • 休眠 4.0.1.Final
  • Spring-data-jpa:1.0.3.RELEASE
  • 查询DSL:2.3.0
  • MySQL 5.x

我有一个有趣的问题,我还没有找到答案或线索。我有两个没有外键或其他关系的表。但是为了尝试解决这个问题,我添加了一个。我希望我的用户实体持有它的用户角色。这种模式在整个数据库中重复出现,但这是最容易描述的。
这是我的表:

用户

用户角色

这是我的课程: User.java

用户角色.java

因此,您可以看到我试图将 UserRole.userRoleId 与用户相关联的位置。我想也许 Hibernate 会在用户更新时构建映射并检索/关联 UserRole。

我已经回去并编辑了这篇文章以在表之间使用外键,但是在应用服务器启动时我得到了这个:

我查找了该错误,该错误似乎与 JPA 和瞬态变量有关,但此处并非如此。

0 投票
2 回答
921 浏览

java - 使用 QueryDSL JPA 在 MySQL 中查找重复行

我想在 QueryDSL JPA 中执行这个 SQL 请求

为了在表中找到重复的行,我应该执行这个请求。但是使用 QueryDSL,我找不到写这个的方法。

似乎 QueryDSL 不允许在 Inner Join 中使用 subQuery :s

有什么建议吗?

感谢和问候,

0 投票
1 回答
5196 浏览

spring - Spring 数据规范或 QueryDSL

在其中一个项目中,我们使用的是 Spring Data。现在查询变得越来越复杂,我们考虑添加 Spring Data Specification 或 QueryDSL。

但是,不确定前进的最佳方式。我认为它们都有相同的目的。有没有比其他更推荐的?

谢谢

0 投票
2 回答
456 浏览

jpa-2.0 - 在 JPA 中,为什么 CriteriaBuilder 让我在不相关的类型之间构建不健全的谓词?

我很好奇为什么使用CriteriaBuilderJPA 2 类可以创建这样的查询。假设我有一个名为as 属性User的持久类。为什么我可以写这个?Stringname

首先,在标记 1:为什么我必须User.class再次指出?我的 CriteriaQuery 不应该知道我对用户感兴趣吗?可能在这里注入另一个类不会破坏类型安全吗?

其次,在标记 2:该name属性是 a String。为什么我可以编译这样的废话,将 aString与 double 进行比较?换句话说,为什么被调用equal方法的签名是这样的:

而不是如下可能更安全的版本?

像Querydsl这样的其他查询框架会为这个问题提供更好的解决方案吗?

0 投票
1 回答
1738 浏览

java - QueryDSL & Hibernate-Search with Lucene Analyzers

我将 Hibernate-Search 配置为在索引我的实体时使用我的自定义分析器。但是,当我尝试使用 QueryDSL 的 Hibernate-Search 集成进行搜索时,它不会找到实体,但如果我使用直接的 hibernate-search 它会找到一些东西。

我索引了一个标题为“the quick brown fox jumped over the lazy dog”的实体。

这些工作……</p>

这不……</p>

但是搜索一下它是如何存储在 Lucene 中的(SnowballPorter 的可能结果),然后它就可以工作了……</p>

因此,似乎在使用 QueryDSL 时,分析器在执行查询之前并未运行。谁能确认这是问题所在,无论如何在 QueryDSL 运行查询之前让它们自动运行?

0 投票
5 回答
24111 浏览

spring-data - 如何将 spring 数据排序转换为 querydsl OrderSpecifier?

这基本上与此相反: How to do a paged QueryDSL query with Spring JPA?

这是针对我无法使用任何 findAll() 方法的自定义查询。

编辑:

发错链接了。现在更正了。

0 投票
1 回答
8809 浏览

java - Querydsl需要查询整数列小于值的位置

我在编写将在整数列上执行简单的小于或等于比较的 JPAQuery 时遇到问题。我有 QCommand 生成的 querydsl 对象,我试图将其与 JPAquery 一起使用来执行这个非常简单的查询。我要执行的查询使用 SQL 如下所示:

生成的 QCommand 对象将 retryCount 参数定义为:

我注意到因为它是一个 SimplePath,所以当我尝试编写 JPAQuery 时,retryCount 变量没有像 loe 或 goe 这样的比较运算符。该列/变量只允许我执行 isNull、isNotNull、eq 和其他非常简单的运算符,但不能执行比较运算符。这看起来像下面,但是,显然没有执行我想要的比较,但它可以正常工作:

在环顾四周时,我看到有一种方法可以创建 NumberPath,这似乎是我想要的,但是,当我尝试下面的代码时,我得到一个异常“java.lang.IllegalArgumentException:未声明的路径'retryCount'。添加这个路径作为查询的来源,以便能够引用它。”

那么,我怎样才能将这条路径“添加”到源中。我环顾四周,找不到这样做的示例,也找不到应该如何完成的解释。javadocs 在这种情况下不是很有帮助。我一直在很好地使用 querydsl,但这是第一个障碍,我很难编写一个最简单的查询。任何帮助或建议将不胜感激。

0 投票
2 回答
2114 浏览

eclipse - QueryDsl Maven 插件缺少一个类

我正在尝试配置我的 spring 项目以使用查询 dsl。maven 版本的插件有问题,我收到以下消息:

有任何想法吗?