是否可以将多个 ORM 配置分配给一个 Java 模型?

我们有这样的情况:一个用 Spring 编写的后端。一款原生 Android 应用。

他们共享许多模型。

所做的就是在后端将模型写成一个包,然后在android中将其导出为jar。

在 Android 上,我们使用 OrmLite 与数据库上的这些模型进行交互。这些模型有适当的注释来实现这一点。在后端,我们基本上为每个模型编写原始 CRUD 查询,这变得很疯狂,因为每次我们添加字段时,我们都需要更新所有相关查询。

我们想要实现的是在服务器上使用另一个orm。问题在于,即使模型相同,旧的糟糕设计选择的服务器和平板电脑也具有不同的列和表名称。无法重命名列和表,因为这涉及太多工作。

我们需要让事情变得更聪明,但我们也希望避免复制模型只是为了将模型重新映射到不同的数据库模式。

您对如何实现这一目标有什么明智的想法吗?


慕勒3428872
浏览 67回答 1
1回答

慕雪6442864

不幸的是,“重命名列和表无法完成,因为它涉及太多工作”是长期拥有一致且易于管理的代码库的最佳解决方案。从短期来看,明智的做法是在服务器上使用基于 XML 的配置,并坚持平板电脑应用程序的注释。更新你要看看JPA规范,它定义了java中的持久化机制。它有多个实现提供者,这里是最新版本规范的提供者列表。我只有Hibernate ORM的经验,它及其本机 API 还提供了 JPA 的实现。除了注释之外,它还具有基于 XML 的配置选项。您将评估哪个提供商适合您的要求。如果ORMlite的注释与JPA不同,那么除了ORMLite注释之外,您甚至可以在实体类中使用JPA注释。但请注意,这会使您的实体模型类变得混乱,并且您将需要在实体模型的类路径上选择 JPA 实现库和 ORMLite 库。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java