Hibernate实现单表和多表的多条件查询
2014-12-22 17:06
267 查看
============================================================================================ 单表字段 ============================================================================================ public List<ZxfwSort> getServerName(final long userId) throws DAOException { System.out.println(" 查询 志愿者 参与的 活动类型 。。。。。。。。。。。。。。"); List<ZxfwSort> pul = this.getMyHibernateTemplate().executeFind(new HibernateCallback(){ public Object doInHibernate(Session session)throws HibernateException, SQLException { String sql = "select z.zxfw_id,z.serve_name from User_With_Disposition u,zxfw_sort z where u.disposition_id=z.zxfw_id and u.user_id="+userId; System.out.println("sql = "+sql); //可以直接使用hibernate 下面的HQL直接得出 这里是测试hibernate的SQL功能 // from ZxfwSort z where z.zxfwId in (select u.DispositionId from UserWithDisposition u where u.userId=:userId) Query q = session.createSQLQuery(sql).addEntity(ZxfwSort.class); return q.list(); } }); return pul; } ============================================================================================ 多表字段 ============================================================================================ public List getServerName(final long userId) throws DAOException { System.out.println(" 查询 志愿者 参与的 活动类型 .................... "); List pul = this.getMyHibernateTemplate().executeFind(new HibernateCallback(){ public Object doInHibernate(Session session)throws HibernateException, SQLException { String sql = "select u.user_id,z.zxfw_id,z.serve_name from User_With_Disposition u,zxfw_sort z where u.disposition_id=z.zxfw_id and u.user_id="+userId; System.out.println("sql = "+sql); //可以直接使用hibernate 下面的HQL直接得出 这里是测试hibernate的SQL功能-单表字段和多表字段 // from ZxfwSort z where z.zxfwId in (select u.DispositionId from UserWithDisposition u where u.userId=:userId) Query q = session.createSQLQuery(sql).addScalar("user_id") .addScalar("zxfw_id") .addScalar("serve_name"); return q.list(); } }); return pul; } ---------------------------------------------------------------- list = eventService.getServerName(userId); for(int i=0;i<list.size();i++) { ZxfwSortVO v = new ZxfwSortVO(); //把裸数据封装到自己的POJO里面 Object[] obj = (Object[])list.get(i); v.setUser_Id(obj[0].toString()); v.setZxfw_id(obj[1].toString()); v.setServe_name(obj[2].toString()); cryList.add(v); } // test 多表 SQL-hibernate 查询 for(ZxfwSortVO zf : cryList) { System.out.println(zf.getUser_Id()+" - "+zf.getServe_name()); } =================================================================================================================
相关文章推荐
- Hibernate里面如何使用DetachedCriteriaCriteria 实现多条件分页查询
- SpringMVC整合Hibernate实现增删改查之按条件查询
- 【java】spring-data-jpa 集成hibernate实现多条件分页查询
- hibernate的dao层实现条件查询
- hibernate中Criteria实现复合条件查询
- struts hibernate spring 实现分页、排序、复杂条件查询②
- Hibernate使用原生的动态sql实现带条件的查询分页功能
- hibernate实现多条件组合的模糊查询
- Hibernate实现不带条件的简单分页查询
- hibernate(jpa)根据实体动态生成查询条件,并实现分页问题的解决方案
- 利用hibernate实现多条件组合查询的两种方式(2017年5月18日22:45:09)
- 利用Java Reflection(反射)原理,在hibernate里面实现对单表、视图的动态组合查询
- 实现Hibernate分页查询原理解读
- spring+hibernate中的DAOImp的综合查询实现
- Hibernate条件查询以及本地查询
- 应用Hibernate3的DetachedCriteria实现分页查询
- 实现Hibernate分页查询原理解读
- Hibernate 实现分页查询 [转]
- 一个简单实现多条件查询的例子
- 一个简单实现多条件查询的例子