JPA 多条件 LIKE 查询实现指南
在 JPA 中,可以使用 CriteriaBuilder 来构建一个查询,使用 Predicate 来定义查询条件。在 Predicate 中可以使用 like 和 and/or 等操作符来组合多个条件。
以下是一个示例代码,其中查询条件包括两个 like 条件和一个等于条件:
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<Entity> query = builder.createQuery(Entity.class);
Root<Entity> root = query.from(Entity.class);
List<Predicate> predicates = new ArrayList<>();
predicates.add(builder.like(root.get('name'), '%abc%'));
predicates.add(builder.like(root.get('description'), '%xyz%'));
predicates.add(builder.equal(root.get('status'), 'active'));
query.where(predicates.toArray(new Predicate[]{}));
List<Entity> results = entityManager.createQuery(query).getResultList();
在上面的代码中,使用了 CriteriaBuilder 的 like 和 equal 方法来创建两个 like 条件和一个等于条件,并将它们添加到一个 Predicate 列表中。然后使用 where 方法将这些条件组合成一个查询条件,最后使用 createQuery 方法执行查询并获取结果。
原文地址: https://www.cveoy.top/t/topic/njEd 著作权归作者所有。请勿转载和采集!