'Dialect'에 해당되는 글 1건

Hibernate SQL Dialects :: 2009/05/26 23:19

Hibernate는 가장 유명하고 일반적으로 사용되는 ORM(Object-Relational Mapping) 프레임워크 중 하나이다. 국내에서는 사용법이 다소 쉬운 iBATIS를 많이 쓰이는 편인데, iBATIS는 ORM보다는 OQM(Object-Query Mapping) 프레임워크라고 부르는게 맞을 것이다.

실제 DB를 설계하고 개발을 해본 개발자라면 왜 Hibernate를 사용해야 하는지 알 수 있을 것이다. 기존의 정규화가 잘안된 복잡한 레거시 DB에 사용할 경우에는 iBATIS와 같은 프레임워크를 사용하는 것이 더 유리할 것이다. 하지만 새로운 DB를 설계하고 프로젝트를 수행한다면 DB 엔티티 설계(Normalization 등) 및 도메인 객체에 대한 설계를 제대로 하여 Hibernate를 사용할 것을 권하고 싶다.

Hibernate는 dialect (방언?)라는 프로퍼티를 통해서 특정 DB를 사용하고 그에 맞는 문법을 지원하겠다고 지정할 수 있다. 아래와 같은 다양한 DB에 대한 dialect 프로퍼티 값을 지원한다.
RDBMS Dialect
DB2 org.hibernate.dialect.DB2Dialect
DB2 AS/400 org.hibernate.dialect.DB2400Dialect
DB2 OS390 org.hibernate.dialect.DB2390Dialect
PostgreSQL org.hibernate.dialect.PostgreSQLDialect
MySQL org.hibernate.dialect.MySQLDialect
MySQL with InnoDB org.hibernate.dialect.MySQLInnoDBDialect
MySQL with MyISAM org.hibernate.dialect.MySQLMyISAMDialect
Oracle (any version) org.hibernate.dialect.OracleDialect
Oracle 9i/10g org.hibernate.dialect.Oracle9Dialect
Sybase org.hibernate.dialect.SybaseDialect
Sybase Anywhere org.hibernate.dialect.SybaseAnywhereDialect
Microsoft SQL Server org.hibernate.dialect.SQLServerDialect
SAP DB org.hibernate.dialect.SAPDBDialect
Informix org.hibernate.dialect.InformixDialect
HypersonicSQL org.hibernate.dialect.HSQLDialect
Ingres org.hibernate.dialect.IngresDialect
Progress org.hibernate.dialect.ProgressDialect
Mckoi SQL org.hibernate.dialect.MckoiDialect
Interbase org.hibernate.dialect.InterbaseDialect
Pointbase org.hibernate.dialect.PointbaseDialect
FrontBase org.hibernate.dialect.FrontbaseDialect
Firebird org.hibernate.dialect.FirebirdDialect