ReactiveCrudRepository在春季使用Hibernate
是否可以使用Hibernate和Mysql与ReactiveCrudRepository
而不是CrudRepository
?我已经尝试了Spring Data Jpa和Hibernate的一些示例,但无法使其工作。我只能在ReactiveCrudRepository
的MongoDB和Casendra上找到几个样本。ReactiveCrudRepository在春季使用Hibernate
是否可以使用Hibernate和Mysql与
ReactiveCrudRepository
而不是CrudRepository
?
截至目前(2017年1月),这是不可能的。
春季数据的反应部分当前相关版本是Spring Data Kay M1(您可以检查是否有可用的更新版本on the project home page)和
从Spring数据团队关于发布和专门的博客文章(重点是我的):
Spring Data Kay M1是第一个支持反应式数据访问的发行版。它的初始套件支持商店 - MongoDB,Apache Cassandra和Redis - 所有已发货的被动式驱动程序,这使得它们非常适合这种原型。
原因是没有标准的非阻塞方式来访问关系数据库。所以现在只支持那些支持这种类型的API。
可以使用JPA或JDBC实现ReactiveCrudRepository
并将工作委托给线程池。这将在外部提供一个异步API,但仍会消耗线程的资源并在独立数据访问之间阻塞,因此只能实现被动方法的一小部分好处。
,真的谢谢你回复 –
现在的任何消息已经过去了一年? :) – dSebastien
@dSebastien不是真的,但现在有https://github.com/spring-projects/spring-data-jdbc最终可能得到反应支持。 异步数据库访问API也有活动。你可以在邮件存档中阅读关于它的讨论http://mail.openjdk.java.net/mailman/listinfo/jdbc-spec-discuss –
据前面的回答报价
人们可以实现使用JPA或JDBC和委托的工作线程池ReactiveCrudRepository。这将在外部提供一个异步API,但仍会消耗线程的资源并在独立数据访问之间阻塞,因此只能实现被动方法的一小部分好处。
詹姆斯沃德声称它可以是非阻塞的。我的意思是我问他:
是的好吧,但是不是ScalikeJDBC-Async做的完全一样吗?只是将查询调用放入另一个线程池中?
,他回答说
没有因为ScalalikeJDBC-异步使用https://github.com/mauricio ...这实际上是非阻塞(NIO)JDBCish数据库驱动程序。
所以,你可以通过与PostgreSQL相关的异步更换休眠+春数据(应该使用MySQL的)反应。
欢迎来到StackOverflow。你的问题有点宽。请查看帮助页面,特别是如何发布您尝试过的[最小完整和可验证的示例](http://stackoverflow.com/help/mcve),以便您的问题更具针对性。 – hotzst