
CONTENT
こんにちは、東京エンジニアのH.Rです。
今回は最近、業務で使用して便利だったJavaのORMツール「DBFlute(ディービーフルート)」でよく使われるコマンド「entity2」をご紹介します。
「テーブル設計に変更が入りJavaのエンティティクラスを手で修正するが面倒」といった際に大活躍します!
■DBFluteとは?
「DBFlute」はJavaプロジェクトで使われるデータベースアクセスを自動化するフレームワークです。テーブル定義やSQL文から、DAOや必要なエンティティクラスなどを自動生成することができます。
例えばDBに「MEMBER」というテーブルがある場合は、
・Member.java(Entity)
・MemberBhv.java(Behavior)
・MemberCB.java(ConditionBean)
上記のようなJavaクラスを自動生成してくれます!
■entity2とは?
「entity2」はDBFluteに用意されている自動生成コマンドのひとつでデータベースのテーブル定義をもとに、エンティティクラスを再生成するための機能です。
・テーブルにカラムを追加・削除した
・カラムのデータ型を変更した
・カラム名やコメントを修正した
上記のようなタイミングで実行するとエンティティクラスを最新の状態に更新できます!
■実際の使い方
※今回は以下のようなディレクトリ構成と仮定とします。
1. DBFluteプロジェクトのルートに移動
cd your-project/dbflute
2. manage.batでentity2 コマンドを実行
manage.bat entity2
3. エンティティクラスの出力先を確認
以下のディレクトリに、最新のエンティティクラスが再生成されます。
your-project/dbflute/yourdbflute/output/common/src/main/java/com/example/dbflute/entity/
※注意点
既存のエンティティクラスに手動で追加した内容(独自メソッドやコメントなど)は、再生成時に上書きされて消えてしまうため注意が必要です。
自動生成を行う前に必要なクラスはローカルにバックアップしておくことを強くおすすめします。
■まとめ
entity2はテーブル定義の変更などに素早く対応できる、DBFluteの便利な自動生成コマンドです。
DBの仕様が変わった際はこのコマンドを活用することで、エンティティクラスを常に最新の状態に保つことができます。
DBFluteを使った開発環境ではentity2を上手く取り入れて、作業効率の向上につなげていきましょう!