实体类上的Seam @Name?

时间:2011-07-09 07:40:49

标签: components entity seam

我第一次看到在这里注释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 = "";
   ...
}

但是,我在视图中的任何地方都不使用这样的“实体组件”。任何人都可以解释这个的使用以及这有什么好处?这是非惯例吗?

1 个答案:

答案 0 :(得分:2)

如果您未在视图中使用任何这些实体组件,则应删除@Name注释。

Seam非常棒,但是每次访问该类中的方法时,接缝组件都会以拦截器的方式开销。由于您未在视图中访问这些属性,因此无需将它们设置为接缝组件。每次使用实体bean中的getter或setter时,都会产生拦截器开销。

用于创建接缝项目的工具Seam-gen也可以生成从数据库表中进行反向工程的实体。默认情况下,seam-gen实体生成器不会将@Name注释添加到这些类。你能从中了解到点东西!

希望这有帮助。