使用hibernate的criteria实现统计数量及多表查询

统计数量:

Java代码  

  1. sessionFactory.getCurrentSession.createCriteria(Person.class).setProjection(Projections.rowCount()).uniqueResult();  

一个对象包含另一个对象的List的多表查询:

Java代码  

  1. @Entity  
  2. public class A{  
  3.      List<B> bs;  
  4. }  

 

 

Java代码  

  1. @Entity  
  2. public class B{  
  3.     private String name;  
  4. }  

 

查询:

Java代码  

  1. "sessionFactory.getCurrentSession().createCriteria(A.class).createAlias("bs",b).setFechMode("bs",FetchMode.JOIN).add(Restrictions.like("b.name","%汪云飞%")).list();  

 

时间: 2024-10-30 23:34:37

使用hibernate的criteria实现统计数量及多表查询的相关文章

Hibernate中Criteria的完整用法

最近在项目中使用 Spring 和 Hibernate 进行开发,有感于 Criteria 比较好用,在查询方法设计上可以灵活的根据 Criteria 的特点来方便地进行查询条件的组装.现在对 Hibernate的Criteria 的用法进行总结: Hibernate 设计了 CriteriaSpecification 作为 Criteria 的父接口,下面提供了 Criteria和DetachedCriteria . Criteria 和 DetachedCriteria 的主要区别在于创建的

【hibernate criteria】hibernate中criteria的完整用法 转

---恢复内容开始--- 转自:http://www.360doc.com/content/090313/10/26262_2794855.html   1.Criteria Hibernate 设计了 CriteriaSpecification 作为 Criteria 的父接口,下面提供了 Criteria和DetachedCriteria . 2.DetachedCriteria Spring 的框架提供了getHibernateTemplate ().findByCriteria(deta

请教Hibernate的Criteria查询的一个小问题

问题描述 实体类:public class User implements Serializable{private static final long serialVersionUID = 120215L;private long id;private String name;private int age;private String role; get...略 set...略}查询方法public static List selectUser(User u,int first,int ma

ssh开发中,如何把表中的一个字段的值相同的记录统计数量,并在jsp页面显示?

问题描述 ssh开发中,如何把表中的一个字段的值相同的记录统计数量,并在jsp页面显示? 解决方案 用group分组后统计,sql:select 字段名称 count(*) AS 记录数 from A group by 字段名称; 解决方案二: sql语句 : select sum(case 字段名 when 特定值 then 1 else 0 end) from 表名:希望可以帮到你! 解决方案三: select count(*) from 表 where 字段 =?然后在和其它查询结合在一起

hibernate的Criteria查询有没有可以把日期转换成string进行比较的方法?

问题描述 hibernate的Criteria查询有没有可以把日期转换成string进行比较的方法? 我要实现类似to__char(date,'yyyy-mm-dd') like '2016-04%'的比较,但是不知道DetachedCriteria中应该怎么写才能实现?

链接查询-mysql 递归算法,统计数量

问题描述 mysql 递归算法,统计数量 CREATE TABLE Org( org_code varchar(80) PRIMARY KEY, org_name varchar(80), parent_org_code varchar(80) )engine=innodb charset=UTF8; INSERT INTO Org values('24500000000','陕西省税务局',''); INSERT INTO Org values('24501000000','西安市税务局','

JS去除重复并统计数量的实现方法_javascript技巧

js去除重复并统计数量方法 首先点击按钮触发事件,然后用class选择器,迭代要获取的文本(这里最好用text()方法)加入到Array()集合里.然后创建一个map{},遍历Array()集合,取一个值作为map的key,然后判断是否有值,如果没有就输入值1,如果有就累加1.最后就可以统计出重复的有多少个. for(var key in map){}为迭代方法. 这里附上文本格式,方便大家复制. jQuery("#count").on("click",functi

求一sql 语句用hibernate 的Criteria 怎么写?

问题描述 请问以下生成的sql 语句用hibernate 的Criteria 怎么写传入两参数 Long pid, Long userId StringBuffer sql = new StringBuffer(); sql.append("select * from BASEAUTH "); sql.append(" where AUTHPID= ? and DELETEFLAG =0 "); sql.append(" and ISFUN=0 "

请教,sql能不能设置一列,自动统计另一张表每个数据的个数?

问题描述 请教,sql能不能设置一列,自动统计另一张表每个数据的个数? 请教,sql能不能设置一列,自动统计另一张表每个数据的个数? 例如: 表a id(部门),zw(职务),name(姓名) 人力部 经理 张三 人力部 副经理 李四 人力部 副经理 王五 开发部 副经理 柳柳 开发部 副经理 琪琪 表b id(公司),zw(职务),sum(数量) 人力部 经理 1 人力部 副经理 2 要在表b的sum中自动统计每个id(部门)有几个经理,几个副经理. 表a变化,表b就自动跟着变,应该怎么做?