私はデータベースの非常に固有のメタデータを含むファイルを与えられた賢明なプログラムを持っています。プロジェクト全体がEclipse用に生成されています。 hibernateを使用してデータベースにアクセスし、基本的な機能を提供し、xhtmlインターフェイスも提供します。Seamの設計上の問題
単純な操作が必要な場合は、すべて機能し、実質的に何かを実行できます。しかし、もちろん、遅かれ早かれ私はこのプロジェクトをカスタマイズしていくつかのカスタマイズされた動作を実現する必要があることを期待しています。
私はただプロジェクトを修正して後で振り返ることはできませんでしたが、新しいテーブルやビヘイビアを追加するためにプロジェクトを再生成できるという大きな利点を失ってしまいます。変更を加えて新しいプロジェクトを生成し、その変更を手作業で適用することはできますが、私が必要とするすべての変更に対してこれを行う必要はありません。
残念ながら、このプロジェクトを生成するツールに触れることはできません(それは私たちのツールではなく、プロジェクトテンプレートを生成する第三者のソフトウェア会社のツールです)。
(@In(create = true)
を使用して)生成されたクラスをインスタンス化するためにSeamフレームワークが大量に使用されていることに気付きました。既存のクラスを再生成しても自分の変更を上書きしないで、これらの拡張クラスをインスタンス化するように、生成されたクラスを拡張する方法はありますか?
生成されたクラスの変更を最小限に抑えるために使用できる戦略はありますか(理想的なケースは、プロジェクトにファイルを追加するだけで動作を変更することですが、xhtmlファイルでは不可能であることはわかります)。これが可能になる前にツールにいくつかの変更を加えなければならないことは分かっていますが(例えば工場?)、助けてくれれば幸いです。
seam-genとよく似ています。それはあなたが使っているものですか? –
私は確かに言うことはできませんが、かなり可能性があります。数日前にクラッシュコースがありましたが、それがどのように機能するかについての詳細はまだたくさんあります。 – Neil