JPA2.0学习笔记---Criteria 查询
来源:互联网 发布:四轴飞行器源码 编辑:程序博客网 时间:2024/06/05 02:50
@Overridepublic List<Book> getBookByTitle(String title) {CriteriaBuilder cb = em.getCriteriaBuilder();CriteriaQuery<Book> c = cb.createQuery(Book.class);Root<Book> book = c.from(Book.class);c.select(book); //类似于 from Book b 这个里面的bc.distinct(true); // 去除重复行
//构建参数
List<Predicate> criteList = new ArrayList<Predicate>();if (title != null) {ParameterExpression<String> p = cb.parameter(String.class, "title");//criteList.add(cb.equal(book.get("title"), p));cb.and(cb.equal(book.get("title"), p));}if (criteList.size() == 0) {throw new RuntimeException("no criteria");} else if (criteList.size() == 1) {c.where(criteList.get(0));} else {c.where(cb.and(criteList.toArray(new Predicate[0])));}TypedQuery<Book> q = em.createQuery(c);if(title != null) q.setParameter("title", title);return q.getResultList();}
下面是简化版~ 适合一个
@Overridepublic List<Book> getBookByTitle(String title) {CriteriaBuilder cb = em.getCriteriaBuilder();CriteriaQuery<Book> c = cb.createQuery(Book.class);Root<Book> book = c.from(Book.class);c.select(book);ParameterExpression<String> pe_title = cb.parameter(String.class,"title");c.where(cb.equal(book.get("title"), pe_title));TypedQuery<Book> q = em.createQuery(c);if(title != null) q.setParameter("title", title);return q.getResultList();}
- JPA2.0学习笔记---Criteria 查询
- JPA2.0查询测试
- Hibernate学习笔记:Criteria条件查询
- JPA2.0的学习
- jpa2.0动态查询机制
- JPA2.0学习笔记---对象/关系映射增强详解
- 重构巴巴运动网 --- 底层重构--where语句重构 基于JPA2.0 Criteria
- Hibernate3学习笔记(5)——Hibernate查询技术之Criteria查询
- Hibernate学习笔记--Criteria Query
- hibernate学习笔记6--Criteria查询方式、完整小练习(开发步骤)
- Criteria查询
- Criteria查询
- Criteria查询
- Criteria查询
- Criteria查询
- Criteria查询
- Criteria查询
- Criteria查询
- android应用开发全程实录
- 揭开J2EE集群的神秘面纱(二)
- wsn笔记
- 自己动手重新实现LINQ to Objects: 10 - Any和All
- 揭开J2EE集群的神秘面纱(三)
- JPA2.0学习笔记---Criteria 查询
- 位运算符
- flex 样式(1)
- ExecuteNonQuery,ExecuteReader,ExecuteScalar 区别
- android中隐藏的layout 抽屉的运用
- 空指针
- Win7下利用IIS自建网站全攻略!包括ASP和ASP.NET动态网站!高手勿入
- Java 泛型学习笔记(一)
- 免费的Android UI库及组件推荐