Tag: querydsl

Spring Data Rest Override存储库(控制器与AOP)

域/库 Project { User owner; } //Querydsl repositories @RepositoryRestResource public interface ProjectRepository extends PagingAndSortingRepository, QueryDslPredicateExecutor, QuerydslBinderCustomizer { default void customize(QuerydslBindings bindings, QProject project) { (…) } } Requeriment:根据经过身份validation的用户上下文过滤数据: 如果用户是ROLE_PUBLIC根据predicate显示项目,并且用户是owner 。 如果用户是ROLE_ADMIN根据predicatefilter显示项目。 我尝试解决了几个替代方案: 选项1 :覆盖@RepositoryRestController如Spring DATA REST doc所述: @RepositoryRestController public class ProjectController { @RequestMapping(value = “/projects”, method = RequestMethod.GET) @ResponseBody public PagedResources search( @QuerydslPredicate(root=Project.class ,bindings =ProjectRepository.class) […]

QueryDsl错误。 没有生成Q类

我尝试生成查询类型类(例如QUser )但是出错… 你可以在这里找到我的源代码: https : //github.com/TheNakedMan/remindme.server/ 我正在使用IntelliJ IDEA,似乎我有工作插件。 请帮帮我。 记录消息: /remindme.server/src/main/java/com/qoobico/remindme/server/repository/UserRepository.java错误:(21,126)java:找不到符号符号:class QUser 错误:(25,62)java:找不到符号符号:class QUser location:interface com.qoobico.remindme.server.repository.UserRepository 更新: 在LifeCycle->clean并在IntelliJ中运行apt:process后,我有这个错误: [错误]无法在项目com.qoobico.remindme.server上执行目标:无法解析项目com.qoobico.remindme.server的依赖项:com.qoobico.remindme.server:war:1.0-SNAPSHOT:找不到工件com .qoobico.remindme.server:com.qoobico.remindme.server:jar:1.0-SNAPSHOT

QueryDSL与Number上的操作类似

我必须使用通配符搜索数字字段。 相应的JQPL查询将如下所示: SELECT e From Entity e where e.personNumber LIKE :numberPattern numberPattern是这样的字符串:“1 ?? 2”,e.personNumber是数据库中的数字(H2)。 如果我用JQPL运行它,它根本没有问题,但我不能把它放入queryDSL查询。 当我尝试 andBuilder.and(entity.personNumber.stringValue().like(numberPattern) 我得到了 org.apache.openjpa.persistence.ArgumentException: “str (” bei Zeichen 7 gefunden, erwartet wurde jedoch [“(“, “+”, … 如果我尝试这样做: Constant constant = (Constant) Expressions.constant(personNummer); PredicateOperation predicateOperation = new PredicateOperation(Ops.LIKE, entity.personNumber, Expressions.constant(constant)); 结果将是一个 Data conversion error converting “1*”; SQL statement: Caused by: java.lang.NumberFormatException: […]

在Play 2 Framework上配置QueryDSL

我尝试在Play Framework中配置QueryDSL (使用Java),但没有成功。 我在谷歌搜索过类似的问题,这就是我发现的: 1. QueryDSL和Play 。 但这篇建立与Lombok等效的post和解决方案对我来说并不适用。 2. 模拟MAVEN过程 。 这是我真正需要将它应用于其他类似模块,但没有显示如何的示例。 3. 配置多个模块 。 在这种情况下包括几个模块,有点混乱。 那么,我如何在Play中配置QueryDSL? 任何人都可以提供一个如何做的例子? 提前致谢。

为什么查询dsl实体路径限制为四个级别?

我目前正在使用maven apt插件来生成EntityPath基类。 com.mysema.maven maven-apt-plugin 1.0.4 process generate-sources target/generated-sources/java com.mysema.query.apt.jpa.JPAAnnotationProcessor com.mysema.querydsl querydsl-apt ${querydsl.version} com.mysema.querydsl querydsl-jpa apt ${querydsl.version} 这会生成所需的Q类,它有助于构建查询谓词。 但是我注意到,每当我超过四个级别时,我总是得到一个空指针exception,即: QFoo.foo.xyz 其中Z是QZ型; 生成的EntityPath也是如此。 这是QueryDSL的限制吗?

querydsl变压器组按计数

我被困在试图获得一个查询(QueryDSL)工作,这给了我一个不同类别的计数。 例如,我想要实现的目标: categoryA -> 10 entries categoryB -> 20 entries 这是我到目前为止: query().from(application) .transform(groupBy(application.category).as(list(application))); 但是,这给了我每个类别所有整个条目的列表,我只是想得到这个。 我尝试用count()搞乱,但没有运气。 有人知道怎么做吗?

Maven使用spring-data-jpa和querydsl构建问题

我有一个针对spring-data-jpa和QueryDsl的Eclipse Maven项目。 我似乎有一个maven-apt-plugin的问题,如果我做一个mvn clean然后安装mvn,它会尝试“处理”引用QueryDsl生成文件的文件,但是这些生成的文件尚未构建,所以我得到多个“找不到符号”的错误。 如果那时必须再做一次mvn安装,一切都很好,因为现在生成的文件存在。 这个maven-apt-plugin是否需要处理我项目中的每个文件,或者我可以给它一个指定的目录吗? 注意:我使用的是JDK6,Eclipse Indigo,M2E 1.0.100 我的POM是…… …. com.mysema.maven maven-apt-plugin 1.0.2 generate-sources process target/generated-sources com.mysema.query.apt.jpa.JPAAnnotationProcessor ….

QueryDsl Web查询Map字段的键

概观 特定 Spring Data JPA,Spring Data Rest,QueryDsl 一个Meetup实体 使用Map properties字段 作为@ElementCollection持久存储在MEETUP_PROPERTY表中 一个MeetupRepository 扩展了QueryDslPredicateExecutor 我期待 一个Web查询 GET /api/meetup?properties[aKey]=aValue 仅返回具有指定键和值的属性条目的Meetup:aKey = aValue。 但是,这对我不起作用。 我错过了什么? 试着 简单的领域 简单的字段起作用,如名称和描述: GET /api/meetup?name=whatever 收集领域像参与者一样工作: GET /api/meetup?participants.name=whatever 但不是这个Map字段。 自定义QueryDsl绑定 我已经尝试通过拥有存储库来自定义绑定 extend QuerydslBinderCustomizer 并凌驾于 customize(QuerydslBindings bindings, QMeetup meetup) 方法,但正在命中customize()方法时,lambda中的绑定代码不是。 编辑:了解这是因为QuerydslBindings评估查询参数的方法不要让它与它内部持有的pathSpecs映射匹配 – 它有自定义绑定。 一些细节 Meetup.properties字段 @ElementCollection(fetch = FetchType.EAGER) @CollectionTable(name = “MEETUP_PROPERTY”, joinColumns = @JoinColumn(name […]

Spring Data Jpa查询DSL Q实体类没有生成

这是pom.xml的要点。 我使用的查询dsl版本是3.6.2 com.mysema.querydsl querydsl-core com.mysema.querydsl querydsl-apt com.mysema.querydsl querydsl-jpa org.bsc.maven maven-processor-plugin 2.2.4 ${project.build.directory}/generated-sources org.mapstruct.ap.MappingProcessor process generate-sources process org.mapstruct mapstruct-processor ${mapstruct.version} com.mysema.maven maven-apt-plugin 1.0.2 generate-sources process target/generated-sources/querydsl com.mysema.query.apt.jpa.JPAAnnotationProcessor 每当我运行mvn clean install时,就会发生此exception消息 [ERROR] diagnostic: C:\Users\users\app\app-ims\app-ims-core\src\main\java\org\app\genesis\inventory\repo\ProductRepoImpl.java:6: error: cannot find symbol import org.brightworks.genesis.inventory.model.QProduct; ^ symbol: class QProduct location: package org.app.genesis.inventory.model 这是class上的要点。 import com.mysema.query.jpa.impl.JPAQuery; import com.mysema.query.types.ConstructorExpression; import org.brightworks.genesis.inventory.dto.ProductDTO; import org.brightworks.genesis.inventory.model.QProduct; import […]

具有多个条件的QueryDSL Predicate SetPath.any

我有一个简单的实体,有一对多的关系 @Entity // and other @ stuff public class Member { @Id private Long id; private String name; private List programs; … } @Entity public class Program { @Id private Long id; private Long programName; private ProgramType programType; private Long programCost; … } 现在使用QueryDSL,我想查询’所有成员注册的程序,其中programType =“FULLTIME”和programCost> $ 1000′ 我使用了以下谓词 Predicate predicate = QMember.member.programs.any() .programType.eq(ProgramType.FULLTIME) .and(QMember.member.programs.any().programCost.gt(1000)); 使用JPARepository […]