나는 querydsl을 처음 접했을뿐만 아니라 이미이 쿼리에 별칭을 사용하는 방법을 알 수 없다.querydsl에서 별칭을 사용하는 방법?
java.lang.IllegalArgumentException가 : org.hibernate.hql.internal.ast.QuerySyntaxException :
QProduct product = QProduct.product; JPQLQuery jPQLQuery = from(product) .where(product.name.locate(searchTerm).as("score").gt(0).or(product.code.locate(searchTerm).as("score").gt(0))).groupBy(product.baseProd); List<Product> matchedNames = jPQLQuery.orderBy(new NumberPath<Integer>(Integer.class, "score").asc()).offset((pageNumber-1)*10).limit(10).list(product);
내 첫번째 생각은 생성 된 쿼리에서 오류가 발생하는이 같은했다 예기치 토큰 : as line 3, column 31 [제품을 mesoft.meshopframework.model.content product에서 (> 1, product.name)을 점수>? 2로 찾거나 다음과 같이 (? 1, product.code)를 찾습니다. 점수>? 2 그룹 by product.base 순위 별 점수 오름차순
누군가 나에게 이것을 할 coorect 방법을 보여줄 수 있었습니까 ?? 나는, DB 정렬에 다시 product.name.locate(searchTerm)
또는 다른 하나를 계산하는 것이 필요는 없습니다
감사
yea, 나는 locate 식으로 정렬하려고했습니다. 그러나 나는 쿼리하는 세계에 처음으로 익숙해 졌기 때문에 나는 그렇지 않다는 것을 알았습니다. "DB 엔진이 정렬 식을 다시 계산한다는 것을 의미합니까? 그리고 그것을 방지하는 방법은 무엇입니까?" – azerafati
재 계산 측면은 DB 엔진에 따라 다릅니다. 어느 쪽을 사용합니까? –
어, DB 엔진도 그런 것들을 고려할 수 있을까요 ?? 좋은! – azerafati