在Android应用程序和Jersey服务器应用程序之间共享类

时间:2012-07-13 02:38:44

标签: java android mongodb jersey morphia

我正在构建一个Android应用程序,它将与使用Java和Jersey构建的Web服务进行通信。

我目前组织了三个项目:

  • core(common)是我的域模型的一组简单的POJO
  • client(android)是Android应用程序
  • server(jersey)是一个Jersey应用程序,用于在MongoDB中存储数据并依赖Morphia库进行持久化。

核心库是其他两个项目的项目依赖项。

问题是我在" core"中创建了我的实体类集,但是这些类是使用注释为Morphia配置的。 这意味着Morphia反过来成为我的Android应用程序的依赖,我不是特别喜欢。

理想情况下,Morphia允许通过平面文件进行配置,但它仅支持通过注释配置实体类。

我是否应该吸收核心'依靠Morphia,还是有更好的方式来组织我不想的课程?

注意:我尝试从核心类中删除Morphia注释,并在"服务器"中创建新类。继承"核心"的项目类和添加Morphia注释。但是,如果我的Jersey应用程序从服务器项目返回类,则Android客户端不能将这些类与Jersey客户端一起使用。

由于

2 个答案:

答案 0 :(得分:1)

我最终切换到另一个POJO映射器。我决定和昆德拉一起去。这有效地在我的核心项目中为javax-persistence创建了一个依赖项(对于JPA注释)。

答案 1 :(得分:0)

您可以从Morphia切换到另一个使用Jackson注释的MongoDB pojo映射器,例如mongo-jackson-mapperbson4jackson。这样你的Android项目就会依赖于Jackson而不是Morphia。