版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/mzdljgz/p/11495723.html
在使用Spring JPA提供的方法只能进行简单的CRUD,如果遇到复杂的情况就需要我们动态来构建查询条件了。这里我们来看使用CriteriaBuilder如何来构造查询。
核心代码:
@PersistenceContext private EntityManager entityManager; /** * 查询所有菜单 * * @return */ public List<MenuInfo> findAllMenu() { CriteriaBuilder builder = entityManager.unwrap(SessionImpl.class).getCriteriaBuilder(); CriteriaQuery<MenuInfo> criteriaQuery = builder.createQuery(MenuInfo.class); Root<MenuInfo> root = criteriaQuery.from(MenuInfo.class); criteriaQuery.select(root); criteriaQuery.where(builder.equal(root.get("systemFlag"), Constant.SystemFlag.MANAGE_B)); return entityManager.unwrap(SessionImpl.class).createQuery(criteriaQuery).getResultList(); }
Spring JPA使用CriteriaBuilder动态构造查询
原文:https://www.cnblogs.com/mzdljgz/p/11495723.html