如何在JBoss Seam应用程序中外化实体模型?

时间:2011-05-24 13:44:35

标签: jboss seam

我对使用JBoss Seam进行应用程序设计的最佳实践提出了疑问。 我打算实现一个基于Seam的应用程序,但我想保持实体模型松散耦合。 (因为我希望能够在非Java EE环境中使用它) 我想到的一个解决方案是将额外的DTO层定义为Seam组件,我可以使用它来在标记和实体之间传输信息。但我认为这不是一个优雅的解决方案。

在Seam应用程序中外部化实体模型但能够使用大多数Seam功能的最佳做法是什么?

1 个答案:

答案 0 :(得分:1)

通常,实体只是具有注释属性的Java对象(JPA)。因此,如果在其他应用程序中使用该模型,则只需担心JPA注释为依赖项。这只是一个带声明的jar,没有运行时的含义。

或者您对Seam中的实体有任何特殊计划,例如使用它们作为实体bean(不确定好处),因此引入更复杂的依赖项?

更简洁但也更复杂的解决方案是使用接口进行实体定义,并为不同的应用程序提供具体的实现,例如: JPA为Seam注释了bean,为其他应用程序注释了未注释的bean。这当然可以手动完成,也可以在框架的帮助下完成。我已经使用Eclipse EMF来生成一个JPA模型,该模型由一个接口抽象以在其他应用程序中使用,但由于EMF默认处理双向依赖关系的方式等,有一些警告。