复制代码
jpa条件查询,or,and 使用
@Autowired
private EntityManager entityManager;
@Test
public void test01() {
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery query = cb.createQuery(UserPO.class);
Root root = query.from(UserPO.class);
Predicate id = cb.equal(root.get("id"), 2);
Predicate id1 = cb.like(root.get("name"), "%现场%");
Predicate or = cb.or(id, id1);
query.where(or);
List resultList = entityManager.createQuery(query).getResultList();
resultList.forEach(r -> {
r.setAccount("123");
});
System.out.println(one);
System.out.println(resultList);
}
复制代码
JPAQueryFactory用法
jpaQueryFactory = new JPAQueryFactory(entityManager);
复制代码
QUserPO userPO = QUserPO.userPO;
JPAQuery query = jpaQueryFactory.select(QUserPO.userPO).from(userPO);
BooleanExpression c = userPO.id.eq(2).or(userPO.id.eq(1)).or(userPO.id.eq(3));
JPAQuery where = query.where(c);
List fetch = where.fetch();
System.out.println(fetch);
复制代码