HibernateではHibernateプロパティを利用して、様々な定義を行う。Hibernateプロパティは
org(2.xではnet.sf).hibernate.cfg.Environmentクラスに定義されている。
Hibernateプロパティ - JDBC
| プロパティ名 | 目的 |
| hibernate.connection.driver_class | ドライバクラス |
| hibernate.connection.url | URL |
| hibernate.connection.username | ユーザ |
| hibernate.connection.password | パスワード |
| hibernate.connection.pool_size | プールできるコネクションの最大数 |
Hibernateプロパティ - JNDIデータソース
| プロパティ名 | 目的 |
| hibernate.connection.datasource | JNDI名 |
| hibernate.jndi.url | プロバイダURL |
| hibernate.jndi.class | InitialContextFactoryのクラス |
| hibernate.connection.username | ユーザ |
| hibernate.connection.password | パスワード |
その他共通のオプションはHibernateの日本語マニュアル(
http://www.hibernate.org/hib_docs/reference/ja/html_single/#configuration-optional)を参照。
データベースの差異による方言の吸収
様々な有償/無償のデータベースがあるが、それぞれ独自の構文を採用していることもある。Hibernateでは、
org(2.xではnet.sf).hibernate.dialect.Dialectの派生クラスにより、方言を吸収する。
利用するクラスの指定はHibernateプロパティのhibernate.dialectに対して指定する。hibernate.dialectプロパティの指定は必須にはなっていないが、必ず指定するようにする。
クラス一覧(データベースとの対応はクラス名の通り。Hibernate2.xの場合はorg.hibernate→net.sf.hibernate)
- org.hibernate.dialect.DB2Dialect
- org.hibernate.dialect.DB2390Dialect
- org.hibernate.dialect.DB2400Dialect
- org.hibernate.dialect.DerbyDialect
- org.hibernate.dialect.FrontBaseDialect
- org.hibernate.dialect.GenericDialect
- org.hibernate.dialect.HSQLDialect
- org.hibernate.dialect.InformixDialect
- org.hibernate.dialect.IngresDialect
- org.hibernate.dialect.InterbaseDialect
- org.hibernate.dialect.FirebirdDialect
- org.hibernate.dialect.MckoiDialect
- org.hibernate.dialect.MySQLDialect
- org.hibernate.dialect.MySQLInnoDBDialect
- org.hibernate.dialect.MySQLMyISAMDialect
- org.hibernate.dialect.Oracle9Dialect
- org.hibernate.dialect.OracleDialect
- org.hibernate.dialect.PointbaseDialect
- org.hibernate.dialect.PostgreSQLDialect
- org.hibernate.dialect.ProgressDialect
- org.hibernate.dialect.SAPDBDialect
- org.hibernate.dialect.SybaseDialect
- org.hibernate.dialect.SQLServerDialect
- org.hibernate.dialect.SQLServer7Dialect
- org.hibernate.dialect.Sybase11Dialect
- org.hibernate.dialect.SybaseAnywhereDialect
- org.hibernate.dialect.TimesTenDialect