4.2.2. 代わりのデータベースを利用

ビルトインされている HSQL DB 以外の別のデータベースを利用して、エンティティ bean をバックアップする場合、データベースのデータソースをまず定義し、JNDI にてそのデータソースを登録する必要があります。これには、deploy ディレクトリの *-ds.xml ファイルを使います。様々なデータベース向けの *-ds.xml ファイル例は、当サーバーのJBOSS_DIST/docs/examples/jca ディレクトリから入手できます。
次に、persistence.xml で、jta-data-source 属性を変更し、JNDI の新規データソースを参照する必要があります (例:デフォルトの mysql-ds.xml を使い、MySQL 外部データベースを設定する場合は java:/MysqlDS)。
ほとんどの場合、Hibernate は自動的に接続先のデータベースを検出試行した後、そのデータベースに適した SQL を自動選択します。しかし、特に利用頻度の少ないデータベースサーバーなど、常に検出機能が動作するわけでない点がわかっています。そのため、persistence.xml で hibernate.dialect プロパティを明示的に設定するよう推奨しています。以下に JBoss プラットフォームで正式に対応しているデータベースサーバーの Hibernate 方言を示しています。
  • Oracle 9i および 10g: org.hibernate.dialect.Oracle9Dialect
  • Microsoft SQL Server 2005: org.hibernate.dialect.SQLServerDialect
  • PostgresSQL 8.1: org.hibernate.dialect.PostgreSQLDialect
  • MySQL 5.0: org.hibernate.dialect.MySQL5Dialect
  • DB2 8.0: org.hibernate.dialect.DB2Dialect
  • Sybase ASE 12.5: org.hibernate.dialect.SybaseDialect