2010-11-25 9 views
2

私はデータベースの非常に固有のメタデータを含むファイルを与えられた賢明なプログラムを持っています。プロジェクト全体がEclipse用に生成されています。 hibernateを使用してデータベースにアクセスし、基本的な機能を提供し、xhtmlインターフェイスも提供します。Seamの設計上の問題

単純な操作が必要な場合は、すべて機能し、実質的に何かを実行できます。しかし、もちろん、遅かれ早かれ私はこのプロジェクトをカスタマイズしていくつかのカスタマイズされた動作を実現する必要があることを期待しています。

私はただプロジェクトを修正して後で振り返ることはできませんでしたが、新しいテーブルやビヘイビアを追加するためにプロジェクトを再生成できるという大きな利点を失ってしまいます。変更を加えて新しいプロジェクトを生成し、その変更を手作業で適用することはできますが、私が必要とするすべての変更に対してこれを行う必要はありません。

残念ながら、このプロジェクトを生成するツールに触れることはできません(それは私たちのツールではなく、プロジェクトテンプレートを生成する第三者のソフトウェア会社のツールです)。

@In(create = true)を使用して)生成されたクラスをインスタンス化するためにSeamフレームワークが大量に使用されていることに気付きました。既存のクラスを再生成しても自分の変更を上書きしないで、これらの拡張クラスをインスタンス化するように、生成されたクラスを拡張する方法はありますか?

生成されたクラスの変更を最小限に抑えるために使用できる戦略はありますか(理想的なケースは、プロジェクトにファイルを追加するだけで動作を変更することですが、xhtmlファイルでは不可能であることはわかります)。これが可能になる前にツールにいくつかの変更を加えなければならないことは分かっていますが(例えば工場?)、助けてくれれば幸いです。

+0

seam-genとよく似ています。それはあなたが使っているものですか? –

+0

私は確かに言うことはできませんが、かなり可能性があります。数日前にクラッシュコースがありましたが、それがどのように機能するかについての詳細はまだたくさんあります。 – Neil

答えて

1

これは私にはシームジェーンのように聞こえます。これはあなたを助けることができます:http://seamframework.org/Community/ModifyingSeamgen

私はseam-genが好きではありません。それは価格のショートカットツールです。このポストを参照してくださいhttp://shervinasgari.blogspot.com/2010/10/why-you-should-not-use-seam-application.html

私はSeamが大好きですが、私はseam-genを使用していません。 seam-genは実際のアプリケーションには適していません。このほかに

@In(create=true) BeanClass beanName 

は名前 "のbeanName" と豆を注入し、いくつかの文脈から、たbeanClassを入力します。そのBeanがまだ存在しない場合、作成されます(create = trueのため)。いくつかのコンテキスト(ページ、リクエスト、セッション、アプリケーション、ワークフローなど)に存在する場合、それが検出され、プロパティbeanNameに挿入されます。

+0

フィードバックいただきありがとうございます。うん、それの音で、私はこの継ぎ目にも熱心ではない。ああ、おそらく私はドキュメンテーションで何かを見つけることができます。 – Neil

関連する問題