我正在使用带有spring-data的MongoDB,并且想知道这是否可行。我希望我的应用程序目前能够与MySQL一起使用,并且在将来的某个时候我计划将其切换到MongoDB。我想知道如果我现在使用HQL和MySQL在稍后阶段将数据库切换到MongoDB,它会起作用吗?如果不能,我该怎样做才能最大限度地减少后期所需的变更?
谢谢!
答案 0 :(得分:1)
HQL仅限Hibernate。 JPQL是标准的JPA查询语言,但它不支持所有HQL功能。
Spring Data不使用HQL,而是使用JPQL。您可以定义一个Common Repository接口,该接口可以由MongoDB存储库和JPA存储库实现。
但查询Mongo与SQL有很大不同,因此您可能只重用相同的基本CRUD操作和方法名称的标准Spring Data查询转换。