2017-02-03 2 views
1

나는 테이블과 뷰가 모두있는 데이터베이스를 가지고 있습니다. JOOQ를 사용하여 데이터와 intercat하기위한 java 코드를 생성합니다.Jooq pojoImplements :보기 대 테이블

모든 테이블에 대해 생성 된 모든 pojo가 내 사용자 지정 인터페이스를 구현하기를 원합니다. 나는 pojoImplements를 사용하여 그것을 성취했습니다.

이 동작은 테이블에만 필요하며보기 용으로 생성 된 pojos가 해당 사용자 지정 인터페이스를 구현하는 것을 원하지 않습니다.

표현식에 어쩌면 어떤 방법이 있습니까?보기에 테이블 및 다른 규칙을 적용 할 수 있습니까?

답변

1

현재이 작업을 수행하는 유일한 방법은 객체 이름과 일치하는 <expression> 플래그를 사용하는 것입니다.

<tables> 
    <table> 
    <expression>EXPRESSION_MATCHING_ONLY_TABLES</expression> 
    <pojoImplements>...</pojoImplements> 
    </table> 
</tables> 

당신이 엄격한 명명 규칙 (등, 예를 들어 T_TABLEV_VIEW 등)이있는 경우는, 같은 T_.*?으로, 정규 표현식에 접두어를 사용할 수 있습니다 또는 명시 적으로 모든 테이블 이름과 일치해야합니다.

programmatic code generator configuration을 사용하는 경우 쿼리를 사용하여 해당 정규식을 생성 할 수 있습니다. PostgreSQL에서 그 쿼리는 다음과 같이 보일 수 있습니다 :

SELECT string_agg(table_name, '|') 
FROM information_schema.tables 
WHERE table_schema = 'public' 
AND table_type = 'BASE TABLE' 
+0

감사합니다. –