jOOQ(Java Object Oriented Querying) CUBRID 정식 지원

by CUBRID_DEV posted Jun 01, 2012

CUBRID.org에서는 2012년 3월부터 CUBRID Affiliates Program을 운영하고 있습니다.

CUBRID Affiliates(http://www.cubrid.org/affiliates)은 글로벌 시장에서의 CUBRID인지도 향상 및 커뮤니티 파트너십 구축을 위한 프로그램입니다. 수많은 오픈소스 프로젝트 중 Multi-DB를 지원하는 어플리케이션 & 어느 정도의 유저층을 확보한 프로젝트 오너를 컨택하여, 그들 손으로 직접 CUBRID를 지원하고, 서로의 제품을 공동 프로모션합니다.

5월 기준, 이 프로그램을 통해 8개의 제품이 CUBRID를 정식 지원하며, 4개의 제품이 작업 중에 있습니다.

첫번째로 소개할 제품은 jOOQ(Java Object Oriented Querying)입니다.

 

jooq-logo.jpg- jOOQ 소개: Java기반 오픈소스 SQL 쿼리 빌더
- jOOQ 역사: 2010-08-14 최초버전 릴리스, 꾸준한 업데이트로 사용자층이 두꺼움.
- jOOQ 라이선스: Apache
- jOOQ 버전: 2.3.1(2012-05-11), CUBRID지원 버전은 2.2.0 이상
- CUBRID 버전: CUBRID 8.4.1 버전 이상 JDBC기반
- jOOQ 튜토리얼: http://www.cubrid.org/wiki_apps/entry/jooq-cubrid-tutorial
- CUBRID 릴리스노트: http://www.jooq.org/notes.php)



- jOOQ 주요특징:

  • Code Generation: 데이터베이스 스키마(테이블, 뷰, stored procedure, enum, UDT)에 기반하여 Java 클래스를 생성합니다.

  • Active records: 간편한 active record 패턴을 지원합니다. OR 맵퍼가 아니라, 스키마와 클래스간 1:1 맵핑, 컬럼과 멤버간 1:1 맵핑 구조입니다.

  • Type-safe SQL: 자체 내장한 풍부한 API를 사용하여 typesafe SQL을 작성할 수 있습니다.

  • SQL standard: 모든 표준 SQL기능을 지원합니다. (UNION's, nested SELECTs, joins, aliasing 등)

  • Vendor-specific feature support: 벤더마다 고유한 기능(stored procedures, UDT's and ARRAY's, 재귀적 쿼리 등)을 사용할 수 있습니다.

 

 

SQL

jOOQ API

SELECT * FROM BOOK WHERE PUBLISHED_IN = 2011 ORDER BY TITLE

create.selectFrom(BOOK) .where(PUBLISHED_IN.equal(2011)) .orderBy(TITLE)

SELECT FIRST_NAME, LAST_NAME, COUNT(*) FROM AUTHOR JOIN BOOK ON AUTHOR.ID = BOOK.AUTHOR_ID WHERE LANGUAGE = 'DE' AND PUBLISHED > '2008-01-01' GROUP BY FIRST_NAME, LAST_NAME HAVING COUNT(*) > 5 ORDER BY LAST_NAME ASC NULLS FIRST LIMIT 2 OFFSET 1

create.select(FIRST_NAME, LAST_NAME, count()) .from(AUTHOR) .join(BOOK).on(Author.ID.equal(Book.AUTHOR_ID)) .where(LANGUAGE.equal("DE")) .and(PUBLISHED.greaterThan(parseDate("2008-01-01"))) .groupBy(FIRST_NAME, LAST_NAME) .having(count().greaterThan(5)) .orderBy(LAST_NAME.asc().nullsFirst()) .limit(2) .offset(1)


Articles

8 9 10 11 12 13 14 15 16 17