사용자 도구

사이트 도구


java:querydsl:nativesql

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
java:querydsl:nativesql [2018/08/31 02:21]
kwon37xi
java:querydsl:nativesql [2022/01/21 23:23] (현재)
kwon37xi [문제점]
줄 3: 줄 3:
  
 ===== XxxQueryFactory 를 사용하여 쿼리를 시작하라  ===== ===== XxxQueryFactory 를 사용하여 쿼리를 시작하라  =====
-  * [[http://www.querydsl.com/static/querydsl/4.1.3/reference/html/ch02s03.html|Querying SQL]] 문서를 보면 ''SQLQueryFactory'' 로 쿼리 생성을 시작하는데 실제로는 DBTypeSQLQueryFactory 를 사용해야 각 DB별 특수 문법을 사용할 수 있다. +  * [[http://www.querydsl.com/static/querydsl/4.1.3/reference/html/ch02s03.html|Querying SQL]] 문서를 보면 ''SQLQueryFactory'' 로 쿼리 생성을 시작하는데 실제로는 [DBType]SQLQueryFactory 를 사용해야 각 DB별 특수 문법을 사용할 수 있다. 
   * [[https://github.com/querydsl/querydsl/blob/master/querydsl-sql/src/main/java/com/querydsl/sql/mysql/MySQLQueryFactory.java|MySQLQueryFactory]]   * [[https://github.com/querydsl/querydsl/blob/master/querydsl-sql/src/main/java/com/querydsl/sql/mysql/MySQLQueryFactory.java|MySQLQueryFactory]]
   * [[https://github.com/querydsl/querydsl/blob/master/querydsl-sql/src/main/java/com/querydsl/sql/mssql/SQLServerQueryFactory.java|SQLServerQueryFactory]] ...   * [[https://github.com/querydsl/querydsl/blob/master/querydsl-sql/src/main/java/com/querydsl/sql/mssql/SQLServerQueryFactory.java|SQLServerQueryFactory]] ...
줄 27: 줄 27:
   * 현재 catalog 개념을 지원하지 않는다. [[:mssqlserver|MS SQL Server]] 에서 여러 카탈로그(database)에 걸친 쿼리 작성이 불가능하다.   * 현재 catalog 개념을 지원하지 않는다. [[:mssqlserver|MS SQL Server]] 에서 여러 카탈로그(database)에 걸친 쿼리 작성이 불가능하다.
     * [[database:mysql|MySQL]] 은 스키마 지정으로 가능하다.     * [[database:mysql|MySQL]] 은 스키마 지정으로 가능하다.
 +    * ''SQLSerializer''를 수정하여 테이블 앞에 'catalog'.'dbo'.'tablename' 으로 붙여주면 된다.
 +    * ''SQLSerializer''는 ''AbstractSQLClause''와 ''AbstractSQLQuery'' 에서 생성된다.
 +    * 따라서 위 두 클래스를 상속하는 클래스에서 ''createSerializer'' 메소드를 오버라이드 하여 원하는 대로 수정한 ''SQLSerializer''를 생성해주면 된다.
 +    * 혹은 ''com.querydsl.sql.SQLTemplates#requiresQuotes'' 를 override 해서 schema 가 ''catalogname.dbo'' 이런식이면  ''false''를 반환해도 될 것 같다. : SQLTemplates 의 DB전용 버전을 하나만 override 하면 되기 때문에 이게 제일 좋은 방법인 듯 하다.
 +
 +===== infobip-spring-data-querydsl =====
 +  * https://github.com/infobip/infobip-spring-data-querydsl
 +===== 참조 =====
 +  * [[https://github.com/eXsio/querydsl-entityql|eXsio/querydsl-entityql: QueryDSL EntityQL - Native Query builder for JPA]]
 +  * [[https://bitbucket.org/atlassian/querydsl-examples/src/master/|Atlassian querydsl-examples]]
java/querydsl/nativesql.1535649716.txt.gz · 마지막으로 수정됨: 2018/08/31 02:21 저자 kwon37xi