[英]r2dbc ReactiveCrudRepository how to write JPQL/HQL
我是 Spring WebFlux 反应式的新手。 我使用 R2DBC postgresql。 我有一个这样的存储库:
public interface BookRepository extends ReactiveCrudRepository<Book, Long> {
}
现在我想添加自定义方法来查询许多复杂的条件:
public interface CustomBookRepository extends BookRepository {
Flux<Book> findByVeryComplicatedCondition(MyCriteriaDto criteria);
}
我的实现:
public class CustomBookRepositoryImpl extends CustomBookRepository {
//How to get it?
EntityManager em;
@Override
public Flux<Book> findByVeryComplicatedCondition(MyCriteriaDto criteria) {
Query query = em.createQuery("SELECT b from Book b WHERE (VERY COMPLICATED CONDITIONS)");
//What next?
}
}
我的问题在上面的代码中:
当我问这些问题时,我的意思是“如何使用 Spring 反应/r2dbc 方式做到这一点”,而不是“如何使用 JDBC 做到这一点”
Spring 数据 R2DBC 没有成熟的 ORM 框架(如 Hibernate)支持。 因此不存在 EntityManager 之类的东西,也不可能编写 JQL/HQL 查询。
但是,仍然可以使用本机查询来定义更复杂的方法,例如
interface MyRepository extends ReactiveCrudRepository<...> {
@Query("SELECT b from Book b WHERE (VERY COMPLICATED CONDITIONS)")
Flux<...> find(...);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.