在 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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录