使用join fetch with JPA2 CriteriaQuery的简单例子

转载 2013年12月04日 17:22:12
  1. protected TypedQuery<SearchResult> getCriteriaQuery(SearchType searchType,SearchCriteria searchCriteria){  
  2.     CriteriaBuilder cb=histDao.getEntityManager().getCriteriaBuilder();  
  3.     CriteriaQuery cq=cb.createQuery(RequestInfo.class);  
  4. //  Metamodel m=histDao.getEntityManager().getMetamodel();  
  5. //  EntityType<RequestInfo> RequestInfo_=m.entity(RequestInfo.class);  
  6.     Root<RequestInfo> from=cq.from(RequestInfo.class);  
  7.     EntityType<RequestInfo> RequestInfo_=from.getModel();  
  8.     Join<RequestInfo, BatchInfo> join1=from.join(RequestInfo_.getSingularAttribute("batchInfo", BatchInfo.class), JoinType.INNER);  
  9.     Join<RequestInfo, PortInfo> join2=from.join(RequestInfo_.getSet("portInfo", PortInfo.class), JoinType.LEFT);  
  10.     from.fetch(RequestInfo_.getSet("portInfo"), JoinType.LEFT);  
  11.     cq.select(from);  
  12.     cq.where(cb.equal(from.get(RequestInfo_.getSingularAttribute("requestId", String.class)),"CE.0010650337_D"));  
  13.       
  14.     TypedQuery<SearchResult> typedQuery=histDao.getEntityManager().createQuery(cq);  
  15.     return typedQuery;  
  16.     } 

[Java Performance] 数据库性能最佳实践 - JPA和读写优化

数据库性能最佳实践 当应用需要连接数据库时,那么应用的性能就可能收到数据库性能的影响。比如当数据库的I/O能力存在限制,或者因缺失了索引而导致执行的SQL语句需要对整张表进行遍历。对于这些问题,...
  • dm_vincent
  • dm_vincent
  • 2014年10月20日 10:06
  • 15018

[JavaEE - JPA] 性能优化: 4种触发懒加载的方式

在一个JPA应用中,可以通过懒加载来提高应用的性能。这一点毋庸置疑,但是懒加载不等于不加载,在某个时刻还是需要加载这些数据的,那么如何触发这个加载的行为才能够事半功倍呢?这里我想说一点题外话,面试的时...
  • dm_vincent
  • dm_vincent
  • 2016年11月27日 23:16
  • 6926

打包JPA动态查询(CriteriaQuery) eq、ge、gt

封装JPA动态查询(CriteriaQuery)   JPA动态查询(CriteriaQuery)封装的一段代码: package com.platform.framework.dao.jpa;...
  • llixiangjian
  • llixiangjian
  • 2017年01月19日 09:20
  • 8121

JPA学习笔记(14)——关联查询

left outer joinString jpql = "FROM User u WHERE u.id = ?"; Query query = entityManager.createQuery(...
  • u010837612
  • u010837612
  • 2015年08月20日 17:44
  • 2009

Hibernate Criteria 关联查询(inner join 与 left join)

实体类 User 、Dept 。 每个User都有对一个Dept属性 -----------------------------------------------------------model...
  • snowday88
  • snowday88
  • 2011年08月23日 16:17
  • 25658

如何使用Criteria 实现两表的左外连接,返回根对象

引用 两个实体 Parent(P) 和 Child(C)之间是1:N的关系,现要求符合指定条件的P及所包 含的C 采用hibernate中的Criteria来实现此功能的代码如下:  ...
  • zdwzzu2006
  • zdwzzu2006
  • 2013年12月24日 19:20
  • 9155

JPA hibernate 基于注解的级联

场景:系统对应不同省份,可以不属于任何省份 要求:省份表为基础数据,仅系统的查询关联 实现: 系统BEAN: /** * all,remove,refresh,merge,persist:删...
  • xiazou
  • xiazou
  • 2015年01月22日 17:05
  • 5738

JPA criteria 查询:类型安全与面向对象

目录[-] 序言 JPA元模型概念,及使用 使用criteria 查询 构建CriteriaQuery 实例API说明 CroteriaQuery QueryRoot 过滤Que...
  • Dracotianlong
  • Dracotianlong
  • 2014年06月04日 20:11
  • 17125

详解JPA 2.0动态查询机制:Criteria API

详解JPA 2.0动态查询机制:Criteria API
  • orz_713
  • orz_713
  • 2016年07月28日 21:40
  • 1206

jpa 中的一对多,多对一关系设置,可直接用findall方法查询出所需的数据,非常方便

贴一个之前做过的社区(省略get和set):   通过下面的设置, 要是你的框架没什么问题的话,就可以直接生成表,表字段,表关系,还可以设置注释,等等, 主要是一对多,多对多等关系, 一目了然 话题表...
  • AVGworkld
  • AVGworkld
  • 2017年09月13日 11:09
  • 865
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用join fetch with JPA2 CriteriaQuery的简单例子
举报原因:
原因补充:

(最多只允许输入30个字)