Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JBossSeam应用程序中外部化实体模型?_Jboss_Seam - Fatal编程技术网

如何在JBossSeam应用程序中外部化实体模型?

如何在JBossSeam应用程序中外部化实体模型?,jboss,seam,Jboss,Seam,我有一个关于使用JBossSeam进行应用程序设计的最佳实践的问题。 我打算实现一个基于Seam的应用程序,但我希望保持实体模型松散耦合。(这是因为我希望能够在非JavaEE环境中使用它) 我想到的一个解决方案是将DTO的附加层定义为Seam组件,我可以使用它在标记和实体之间传输信息。但我认为这不是一个优雅的解决方案 在Seam应用程序中外部化实体模型但能够使用大多数Seam功能的最佳实践是什么?通常,实体只是带有注释属性(JPA)的Java对象。因此,如果在另一个应用程序中使用该模型,您只需担

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


在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默认处理双向依赖关系的方式等原因,因此有一些注意事项