====== Hibernate 統合(1.6 から) ====== LiquiBase-Hibernate は、Hibernate の"[[http://www.hibernate.org/hib_docs/v3/api/org/hibernate/tool/hbm2ddl/package-summary.html|hbm2ddl]]"機能を代替します。 ===== hbm2ddl と一緒に LiquiBase を利用する利点===== hbm2ddl は一般的にはうまく動作しますが、基本的にはデータベースの差分(diff) ツールで、[[http://blog.liquibase.org/2007/06/the-problem-with-database-diffs.html|データベース差分ツールに関連する問題点]]があります。 LiquiBase-Hibernate 統合により、現在の Hibernate マッピングファイルに必要とされるデータベースの変更を変更ログファイルに記録します。これによって、実行前に必要に応じて内容を確認することができます。 ===== 開発プロセス ===== LiquiBase と一緒に Hibernate を利用するには、下記のステップになります: - 必要な変更を Hibernate-mapped オブジェクトに行う - Hibernate 設定ファイルと、開発データベースの間で[[diff|差分の生成]]をおこなう ( 下記の例参照 ) - 内容を確認し、新規に変更セットを設定 ( 必要な場合 ) - 新規の変更セットとともに、データベースを[[Update|更新]] ===== 例 ===== ==== コマンドライン ==== liquibase \ --driver=oracle.jdbc.OracleDriver \ --classpath=jdbcdriver.jar:hibernate.jar \ --url=jdbc:oracle:thin:@localhost:1521:oracle \ --username=scott \ --password=tiger \ --changeLogFile=path/to/changelog \ diffChangeLog \ --baseUrl=hibernate:YOUR_HIBERNATE.CFG.XML \ FIXME: The above code should actually read like this: liquibase \ --classpath=jdbcdriver.jar:hibernate.jar \ --changeLogFile=path/to/changelog \ --url=hibernate:YOUR_HIBERNATE.CFG.XML \ diffChangeLog \ --baseDriver=oracle.jdbc.OracleDriver \ --baseUrl=jdbc:oracle:thin:@localhost:1521:oracle \ --baseUsername=scott \ --basePassword=tiger ==== Ant ====