jpa,JPA,EntityManager,JPAQueryFactory


复制代码
   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);
复制代码
 
jpa