HQL 쿼리에서 CONCAT()
및 GROUP_CONCAT()
을 어떻게 사용할 수 있습니까?최대 절전 모드 : CONCAT 및 GROUP_CONCAT 사용 방법
10
A
답변
9
약 concat
: 이것은 MySQL에서와 똑같은 방식으로 작동합니다 (문자열을 연결하면 집계 함수가 아닙니다).
group_concat
을 SQL 기능으로 구성에 추가 할 수 있습니다. 이렇게하면 밑에있는 DB가이 함수를 알고 있다고 가정하고 프로그램을 에 묶습니다.
import org.hibernate.cfg.Configuration;
import org.hibernate.dialect.function.StandardSQLFunction;
import org.hibernate.type.StringType;
// ...
myConf.addSqlFunction("group_concat", new StandardSQLFunction("group_concat", new StringType()));
또한 함수의 출력이 문자열임을 나타냅니다. 이것을 사용하지 않을 때 group_concat
숫자 필드 Hibernate는 또한 결과를 숫자로 가정하고 충돌합니다.
1
서브 클래스
및
registerFunction("group_concat", new StandardSQLFunction("group_concat", Hibernate.STRING));
또는 createSQLQuery를 사용하는 경우
SQLFunctionTemplate
1
를 사용, String로서 그 칼럼에 addScalar를 사용하는 방언.
SQLQuery query = sessionObj.createSQLQuery("select group_concat(column1,column2) as mycolumn from some table group by someThing");
query.addScalar("mycolumn ", Hibernate.STRING);
+0
Hibernate 버전 3.6.X 이후로 Hibernate.STRING이 사용되지 않음 [다음은 더 이상 사용되지 않는 문서입니다.] (https://docs.jboss.org/hibernate/orm/3.6/javadocs/org/hibernate/Hibernate.html) 그래서'StringType.INSTANCE'를 사용해야합니다. –
관련 문제
- 1. 저장 및 최대 절전 모드
- 2. "절전 모드"의 엔터티 리스너? 최대 절전 모드 사용
- 3. 최대 절전 모드 및 직렬화
- 4. 최대 절전 모드 및 잠금
- 5. 최대 절전 모드 및 기준 방법 사용 setFirstResult
- 6. 최대 절전 모드 2 concat 필드와 일치하는 값으로 레코드를 얻으십시오.
- 7. 최대 절전 모드
- 8. DB2의 최대 절전 모드
- 9. 최대 절전 모드 AssertionFailure
- 10. 최대 절전 모드 예외
- 11. 최대 절전 모드 - 최대 절전 모드로 데이터베이스에 java.net.URL을 저장하는 방법
- 12. 최대 절전 모드 시작이 "최대 절전 모드 자바 지속성"책에서
- 13. 최대 절전 모드 지속성
- 14. 최대 절전 모드
- 15. 컬럼이있는 최대 절전 모드
- 16. 서블릿 환경에서 최대 절전 모드 사용
- 17. 최대 절전 모드 도움말
- 18. 최대 절전 모드 @DiscriminatorValue는
- 19. 최대 절전 모드 다형성
- 20. 동일한 응용 프로그램에서 최대 절전 모드 및 Ibatis 사용
- 21. JSF, 최대 절전 모드 및 BLOB 검색
- 22. 최대 절전 모드 조건에서 sum() 사용
- 23. 최대 절전 모드 : 식별자
- 24. ZK로 최대 절전 모드
- 25. 최대 절전 모드
- 26. 최대 절전 모드, MySQL의
- 27. 최대 절전 모드 인코딩
- 28. 최대 절전 모드 검색
- 29. 최대 절전 모드 - 절
- 30. 최대 절전 모드 프록시
+1 당신이 mysql에 묶여있다. group_concat은 Microsoft SQL Server에서는 사용할 수 없습니다. hibernate는 SQL 벤더 독립성을 목표로합니다. – Terraego