模块化应用程序的设计模式(如何重用实体)

时间:2015-04-01 19:18:02

标签: java design-patterns modularity

我有以下情况:

  1. JAX-RS Web服务,负责业务逻辑和数据库交互。
  2. 最终用户将使用的webapp。
  3. 管理员将使用的网络应用程序。
  4. 我的问题是我想在其他应用程序上重用webservice中的实体,但它高度包含JPA,JAX-RS,CDI等框架......所以我很难隔离他们。我想要的是知道最好的解决方法,为什么我应该使用它而不是其他。

2 个答案:

答案 0 :(得分:3)

也许DTO是可行的方式(在某些对象映射器库的支持下,如Dozer

请查看以下文章了解更多详情:http://zezutom.blogspot.com/2012/02/thoughts-on-data-transfer-objects.html

答案 1 :(得分:0)

将实体对象写为普通旧Java对象(PO​​JO),使用适当的构造函数,设置器等。应用允许JPA持久保存它们的注释,并以这样的方式对象进行关系映射,如果这些注释如果被剥离,你仍然可以使用类的公共方法完全创建和操作这些对象。如果先创建POJO,然后再添加注释,则会很有帮助。

由于POJO独立存在,它们并不是存储库层的全部。您可以在不使用JPA的情况下使用它们。