smu*_*kes 8 database spring jpa mongodb spring-data
我是使用数据库的新手,所以我的问题可能很幼稚。我目前有一个使用 Spring Data 和 JPA 的项目。我在后台使用 Hibernate 和 MySQL。是否可以切换到 MongoDB?当我用谷歌搜索“jpa MongoDB”时,顶部链接显示了一些有趣的东西(DataNucleus JPA 和 MongoDB)。此链接:MongoDB docs似乎表明 Java 驱动程序符合 JPA,那么换出数据库实现是否应该很简单?
Oli*_*ohm 14
这在很大程度上取决于您对“工作”的定义。“一般工作”?- 是的。“合理工作” - 取决于。“无缝工作” - 不是那么多。
JPA 是一种固有的关系 API,因此请准备好遇到以下方面:
transaction.rollback()?严格来说,您不能 100%(根据定义)实现 JPA,并且大多数自称的 NoSQL 的 JPA 实现基本上都提供了 JPA 的一个很小的子集:一些用于映射的注释,一些EntityManagerAPI。虽然我可以看到将熟悉的 API 放在新事物上以获得某种知识转移的动机,但最终认为如果目标空间不支持关键方面(例如交易),这是一种谬论。到目前为止,我所看到的所有方法最终都花费了大量的文档来记录 JPA 和商店方面不支持的内容。
也就是说,还有其他方法可以摆脱“一个 API 来统治一切”,而是主动利用 NoSQL 空间中的多样性(想想看:一组由它们所没有定义的技术将根据定义非常多样化)。
在春天数据项目(免责声明:我是这样做的铅)的动了起来抽象的层次和而提供了一个一致的信息库的编程模型,除一个统一的API。这允许仍然提供对商店特定功能的支持,但一般使用方式保持不变。
所以我建议移到这里的专用 Spring Data MongoDB 项目。
| 归档时间: |
|
| 查看次数: |
15779 次 |
| 最近记录: |