java 定义了一种在Sping Boot 中使用Hibernate进行多次搜索的方法

izkcnapc  于 2023-01-11  发布在  Java
关注(0)|答案(1)|浏览(77)

我的应用程序有很大的搜索表单,每个实体属性都有很多输入,我想定义一个方法,例如用于通用查询搜索的criteria方法,而不是按每个实体属性定义搜索方法,我如何使用Hibernate或JPA来实现这一点?

pkbketx9

pkbketx91#

使用Jpa规范执行器(scroll down to section 5
这样,您就可以通过编程方式定义要添加到where子句中的字段,如下所示。

(Specification<Book>) (book, cq, cb) ->
  cb.and(
    // You can dynamically construct that array of predicates based on which fields are set in the form
    cb.like(book.get("author"), "%" + author + "%"),
    cb.like(book.get("title"), "%" + title + "%")
  )

相关问题