2011-07-09 10 views
0

私が最初にここにSea​​mエンティティ、クラスSeam @エンティティクラスの名前?

http://www.developer.com/java/ejb/article.php/10931_3715171_5/Introducing-JBossreg-Seam.htm

と私は以来そうしてきたどのような理由のために注釈を付ける見てきました:しかし、私は「エンティティコンポーネントを使用していない

@Entity 
@Table (name= "GADGET") 
@Name("gadget") 
public class GadgetBean implements Serializable { 
    private String mDescription = ""; 
    private String mType = ""; 
    ... 
} 

を"私の意見のどこにでもこのように。誰もがこれの使用を説明し、これが何を得ることができますか?それは非実践ですか?

答えて

2

ビューにこれらのエンティティコンポーネントを使用していない場合は、@ Nameアノテーションを削除する必要があります。

Seamは素晴らしいですが、継ぎ目コンポーネントは、そのクラスのメソッドにアクセスするたびにインターセプタが起動するたびにオーバーヘッドを伴います。ビューでこれらの属性にアクセスしていないため、これらの属性を継ぎ目のコンポーネントにする必要はありません。エンティティBeanのゲッタまたはセッタを使用するたびに、インターセプタのオーバーヘッドが発生します。

シームプロジェクトを作成するために使用するツールであるSeam-genは、データベーステーブルからリバースエンジニアリングされたエンティティを生成することもできます。デフォルトでは、seam-genエンティティジェネレータは@Nameアノテーションをこれらのクラスに追加しません。それはあなたに何かを伝えるべきです!

これが役に立ちます。