2

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

我目前组织了三个项目:

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

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

问题是我在“核心”中创建了一组实体类,但这些类是使用注释为 Morphia 配置的。这意味着 Morphia 反过来成为我的 Android 应用程序的依赖项,我并不特别喜欢它。

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

我应该吸收依赖于 Morphia 的“核心”的丑陋依赖,还是有更好的方法来组织我没有想到的课程?

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

谢谢

4

2 回答 2

1

我确实最终切换到了不同的 POJO 映射器。我决定和昆德拉一起去。这实际上只在我的核心项目中创建了一个依赖javax-persistence项(用于 JPA 注释)。

于 2012-08-12T23:03:16.753 回答
0

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

于 2012-07-14T21:51:00.727 回答