概念:
EntityManager:EntityManager是JPA中用于增删改查的接口,它的作用相当于一座桥梁,连接内存中的java对象和数据库的数据存储。可以用getCriteriaBuilder()的方式获取CriteriaBuilder对象。
CriteriaBuilder接口:用于构造标准查询、复合条件、表达式、排序等。可以通过createQuery的方式获取CriteriaQuery实例。
CriteriaQuery接口:代表一个specific的顶层查询对象,它包含着查询的各个部分,比如:select 、from、where、group by、order by。
Root接口:代表Criteria查询的根对象,定义了实体类型,能为将来导航获得想要的结果,它与SQL查询中的FROM子句类似
接下来上代码啦!
1. 注入entitymanager
@PersistenceContext
private EntityManager em;
2. 建立连接,执行查询操作
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<ADTO> q = cb.createQuery(ADTO.class);
Root<A> root = q.from(A.class);
/*********************表连接**************************/
Join<A, B> b = root.join("b", JoinType.LEFT)