1

Netbeans を使用して、db から始まる jpa エンティティを自動的に作成しました。次に、これらのエンティティ内にロジック コードを挿入する必要があります。たとえば、まずすべての jpa エンティティ クラスに対してカスタムの toString() メソッドを記述する必要があります。問題は、そのコードをどこに配置する必要があるかです。次のデータベーススキーマの更新後にjpa「ウィザード」を再度起動すると、jpaクラスがNetbeansによって上書きされる可能性があることを私は知っています。そこで、Netbeans の jpa 自動生成機能を放棄することなく、いくつかのエンティティ ロジックを書きたいと思います。マージ ツールやプリプロセッサ機能などの外部ツールを使用する必要がありますか?それとも継承クラスや特定のパターンを実装する必要がありますか? 以前は Apache Cayenne を使用していました。すべての db エンティティに対して、2 つの Java クラスが作成されます。1 つ目 (親) は、フィールド エンティティ マッピングを使用して、

アドバイスをいただければ幸いです。

イタリアからよろしく

4

3 に答える 3

2

スキーマからエンティティー Bean を生成する代わりに、JPA がエンティティー Bean からスキーマを作成できるようにすることもできます。DBスキーマの更新と保守がはるかに簡単になることがわかりました。

于 2010-12-18T14:10:47.787 に答える
0

ソース管理の問題としてこれに取り組むことをお勧めします。クラスを生成し、必要に応じて変更します。満足したら、結果をソース管理にチェックインします。データベース スキーマが変更されたら、クラスを再生成します。彼らはあなたの変更を欠いていますが、これは問題ありません。ここで、コードのローカル コピーをソース管理にあるものと同期します。2 種類の送信変更が表示されます。スキーマの変更を反映するために行われた変更と、変更の削除です (盲目的にオーバーライドされたため)。ソース管理ツールを使用して、後者の種類の変更を破棄し、前者を保持します。基本的に、新しく生成されたバージョンを古い変更されたバージョンとマージし、両方から必要なビットを保持しています。

私は NetBeans を使用していないので、これを行う方法を詳しく説明することはできません。Eclipse では簡単です。再生成し、すべてを選択し、[チーム] > [同期] を選択してから、必要な場所で「現在の変更を右から左にコピー」します。

于 2010-12-18T16:34:29.957 に答える
0

はい、リビジョン管理システムを使用して、カスタム ソースを自動生成コードと同期できます。しかし、jpaエンティティクラス内にビジネスロジックをコーディングするのは正しいですか???

于 2010-12-20T11:47:16.257 に答える