'ORM'에 해당되는 글 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 프로퍼티 값을 지원한다.
실제 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 |

