When i try to run this query :
Long count = ...; List<CritereItem> items= new JPAQuery(entityManager).from(foo) .list( new QCritereItem( foo.id, foo.name, count )); I got compilation error because the constructor expect NumberPath<Long> not Long at the variable count , So how to select a variable in querydsl ?
I replace count in constructor by :
Expressions.numberTemplate(Long.class, count.toString()) But i got this execption
java.lang.IllegalArgumentException: java.lang.ClassCastException@14edf4 1 Answers
Answers 1
You are trying to pass a constant through the QueryDSL constructor.
Check the Expressions static class for more informations: QueryDSL API Reference
NumberExpression<Long> count = Expressions.asNumber(...); List<CritereItem> items = new JPAQuery(entityManager).from(foo) .list( new QCritereItem( foo.id, foo.name, count )); Also note that if you want to aggregate a count, you can do it with foo.count()
0 comments:
Post a Comment