我的应用程序有很大的搜索表单,每个实体属性都有很多输入,我想定义一个方法,例如用于通用查询搜索的criteria方法,而不是按每个实体属性定义搜索方法,我如何使用Hibernate或JPA来实现这一点?
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 + "%") )
1条答案
按热度按时间pkbketx91#
使用Jpa规范执行器(scroll down to section 5
这样,您就可以通过编程方式定义要添加到where子句中的字段,如下所示。