SoT*_*SoT 3 java hibernate spring-webflux spring-data-r2dbc
我是 Spring WebFlux 反应式新手。我使用 R2DBC postgresql。我有一个这样的存储库:
public interface BookRepository extends ReactiveCrudRepository<Book, Long> {
}
Run Code Online (Sandbox Code Playgroud)
现在我想添加自定义方法来通过许多复杂的条件进行查询:
public interface CustomBookRepository extends BookRepository {
Flux<Book> findByVeryComplicatedCondition(MyCriteriaDto criteria);
}
Run Code Online (Sandbox Code Playgroud)
我的实现:
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?
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题在上面的代码中:
当我问这些问题时,我的意思是“如何使用 Spring React/r2dbc 方式做到这一点”,而不是“如何使用 JDBC 做到这一点”
小智 11
Spring Data R2DBC 没有像 Hibernate 这样成熟的 ORM 框架支持。因此,不存在 EntityManager 之类的东西,也不可能编写 JQL/HQL 查询。
然而,人们仍然可以使用本机查询来定义更复杂的方法,例如
interface MyRepository extends ReactiveCrudRepository<...> {
@Query("SELECT b from Book b WHERE (VERY COMPLICATED CONDITIONS)")
Flux<...> find(...);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3753 次 |
| 最近记录: |