2017-11-08 15 views
1

jsonb_agg와 Jooq를 사용하여 스트림으로 읽을 수있는 jsonb 객체를 만들고 싶습니다. Jooq가 데이터베이스를 보지 않고이 작업을 수행 할 수있는 방법이 있습니까?코드 생성기가없는 postgreSQL에서 joob를 jsonb_agg와 함께 사용 하시겠습니까?

은 내가 Jooq 데이터베이스보고, 발견하지만 자기 성찰의 과정을 거치지 않고이를 사용하는 방법이 무엇인지 집계를 결정할 수 있습니다 알아? 필자는 문서를 4 번 읽었으며 대답을 보지 못했습니다.

답변

1

그래서 대답은 정의 필드에 대한의 DSL 문서에 묻혀있다.

모든 예제 전에 몇 가지 변형 사용 : 당신이 당신의 자신의 분야 또는 인라인 함수 정의를 정의 할 수 있습니다 그러나

create.select(field("example1"), field("example2")).from(table(a)... 

합니다.

필드 정의 될 수있는 일 같은 :

Field<Object> example1 = field("example1"); 

아니면 유형 정의하려면 : 당신과 같은 더 복잡한 필드를 정의 할 때

Field<String> example2 = field("example2", String.class); 

이 중요하게를 :

Field<String> jsonAry = function("jsonb_agg", String.class, example2); 

주크 (Jooq)는 이런 식으로 구성되는 것을 허용하는 데 정말로 빛난다. 당신은 할 수 있습니다 그리고

Fiend<String> fullJson = function("jsonb_build_object", String.class, example1, example2); 

당신이 (예 1) 당신이 좋은 jsonb_agg 밖으로 개체를 얻을 GROUPBY합니다.

+1

감사합니다. 미래의 방문객이는 [ "일반 SQL"] (https://www.jooq.org/doc/latest/manual/sql-building/plain-sql/) 및 [ "일반 SQL의 템플릿"] (HTTPS라고합니다 : //www.jooq.org/doc/latest/manual/sql-building/plain-sql-templating/)에서 jOOQ –