如何在JBossSeam应用程序中外部化实体模型?
我有一个关于使用JBossSeam进行应用程序设计的最佳实践的问题。 我打算实现一个基于Seam的应用程序,但我希望保持实体模型松散耦合。(这是因为我希望能够在非JavaEE环境中使用它) 我想到的一个解决方案是将DTO的附加层定义为Seam组件,我可以使用它在标记和实体之间传输信息。但我认为这不是一个优雅的解决方案如何在JBossSeam应用程序中外部化实体模型?,jboss,seam,Jboss,Seam,我有一个关于使用JBossSeam进行应用程序设计的最佳实践的问题。 我打算实现一个基于Seam的应用程序,但我希望保持实体模型松散耦合。(这是因为我希望能够在非JavaEE环境中使用它) 我想到的一个解决方案是将DTO的附加层定义为Seam组件,我可以使用它在标记和实体之间传输信息。但我认为这不是一个优雅的解决方案 在Seam应用程序中外部化实体模型但能够使用大多数Seam功能的最佳实践是什么?通常,实体只是带有注释属性(JPA)的Java对象。因此,如果在另一个应用程序中使用该模型,您只需担
在Seam应用程序中外部化实体模型但能够使用大多数Seam功能的最佳实践是什么?通常,实体只是带有注释属性(JPA)的Java对象。因此,如果在另一个应用程序中使用该模型,您只需担心JPA注释是依赖项。这将只有一个带有声明的jar,并且没有运行时含义 或者您是否对Seam中的实体有任何特殊的计划,例如,将它们用作实体bean(不确定其好处),从而引入更复杂的依赖关系
一个更干净但也更复杂的解决方案是使用接口来定义实体,并为不同的应用程序提供具体的实现,例如,用于Seam的JPA注释bean和用于其他应用程序的未注释bean。当然,这可以手动完成,也可以在框架的帮助下完成。我曾经生成一个JPA模型,该模型由一个接口抽象以用于其他应用程序,但由于EMFs处理双向依赖关系的默认方式等原因,这里有一些警告。通常,实体只是带有注释属性(JPA)的Java对象。因此,如果在另一个应用程序中使用该模型,您只需担心JPA注释是依赖项。这将只有一个带有声明的jar,并且没有运行时含义 或者您是否对Seam中的实体有任何特殊的计划,例如,将它们用作实体bean(不确定其好处),从而引入更复杂的依赖关系 一个更干净但也更复杂的解决方案是使用接口来定义实体,并为不同的应用程序提供具体的实现,例如,用于Seam的JPA注释bean和用于其他应用程序的未注释bean。当然,这可以手动完成,也可以在框架的帮助下完成。我曾经生成一个JPA模型,该模型由一个接口抽象以用于其他应用程序,但由于EMFs默认处理双向依赖关系的方式等原因,因此有一些注意事项