PO

  1. public class UserPO implements java.io.Serializable {
  2. /** 用户唯一标识ID */
  3. private String id;
  4. /** 状态(在用1停用0) */
  5. private String userStatus;
  6. private Set roles = new HashSet();
  7. ........
  8. }
  1. public class RolePOimplements java.io.Serializable {
  2. /** 角色唯一标识ID */
  3. private String id;
  4. /** 角色级别 */
  5. private Integer roleLevel;
  6. private Set users = new HashSet(0);
  7. ........
  8. }

查询用户userStatus等于1且他的角色Level等于3的用户

  1. DetachedCriteria criteria = DetachedCriteria.forClass(UserPO.class); // org.hibernate.criterion.DetachedCriteria
  2. criteria.add(Restrictions.eq("userStatus", "1"))
  3. .createAlias("roles", "r")
  4. .add(Restrictions.eq("r.roleLevel", new Integer(3)));

criteria.add(Restrictions.eq("userStatus", "1"))

.createAlias("roles", "r")

.add(Restrictions.eq("r.roleLevel", new Integer(3)));

需要注意的是:

获取User时是获得了roles的全部记录集,而不是经过过滤的记录集,相当于User的id获得的完整实例一样

hibernate Criteria查询多对多(Set集合)条件筛选的更多相关文章

  1. Hibernate Criteria 查询使用

    转载 http://blog.csdn.net/woshisap/article/details/6747466 Hibernate 设计了 CriteriaSpecification 作为 Crit ...

  2. hibernate Criteria查询 2.3

    Criteria对象提供了一种面向对象的方式查询数据库.Criteria对象需要使用Session对象来获得一个Criteria对象表示对一个持久化类的查询 查询所有 Session session ...

  3. 第九章 Criteria查询及注解

    第九章   Criteria查询及注解9.1 使用Criteria查询数据    9.1.1 条件查询        Criteria查询步骤:            1)使用session接口的cr ...

  4. HBase多条件筛选查询方案

    最近的项目需要使用Hbase做实时查询,由于Hbase只支持一级索引,也就是使用rowkey作为索引查询,所以对于多条件筛选查询的支持不够,在不建立二级索引的情况下,只能使用Hbase API中提供的 ...

  5. Hibernate框架之Criteria查询 和注解(重点☆☆☆☆☆,难点☆☆☆)

    写好一篇博客,不是容易的事.原因是:你要给自己以后看的时候,还能看懂,最重要的是当别人看到你的博客文章的时候,也一样很清楚的明白你自己写的东西.其实这也是一种成就感!! 对于每一个知识点,要有必要的解 ...

  6. Hibernate框架之Criteria查询

    首先给大家说说Hibernate检索方式 Hibernate提供了5种检索对象的方式 1.导航对象图检索方式:根据已经加载的对象导航到其他对象 2.OID检索方式:按照对象的OID来检索对象 3.HQ ...

  7. Hibernate查询之Criteria查询

    转自:http://www.cnblogs.com/Laupaul/archive/2012/02/15/2353194.html Criteria是一种比hql更面向对象的查询方式.Criteria ...

  8. hibernate框架学习笔记11:Criteria查询详解

    创建实体类对象: package domain; import java.util.HashSet; import java.util.Set; //客户实体 public class Custome ...

  9. Hibernate的四种查询方式(主键查询,HQL查询,Criteria查询,本地sql查询)和修改和添加

    Hibernate的添加,修改,查询(三种查询方式)的方法: 案例演示: 1:第一步,导包,老生常谈了都是,省略: 2:第二步,创建数据库和数据表,表结构如下所示: 3:第三步创建实体类User.ja ...

随机推荐

  1. java 四舍五入 保留俩位小数

    public static void main(String[] args) {              String str="0";              BigDeci ...

  2. Fishnet(暴力POJ 1408)

    Fishnet Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 1911   Accepted: 1227 Descripti ...

  3. U3D UGUI学习4 - Text

    1.对应NGUI的四种文字显示模式 Shrink Content 对应NGUI第一种模式     勾选Best Fit 但似乎有一个Bug,文字过多的时候会爆框.解决方法是改变Line Spacing ...

  4. JAVA基础知识之Map集合

    Map的内部结构Entry Set与Map的关系 Map的内部类Entry Map的通用方法及Map的简单用法 HashMap和HashTable的区别 HashMap和HashTable判断元素相等 ...

  5. C++导出文件后缀dll,lib,exp,def

    简要的介绍一下在微软开发工具中(VC)静态链接库和动态链接库生成过程中出现的.dll  .lib  .def 和 .exp文件类型.windows平台上可执行文件可能是一个.exe文件也可能四个.dl ...

  6. ios事件传递

    http://blog.csdn.net/iefreer/article/details/4754482 本章描述了iPhone操作系统里的事件类型,并解释了如何处理它们.还讨论了怎么在一个应用程序里 ...

  7. fildder学习

    http://www.cnblogs.com/strick/p/4570006.html#first

  8. easyui DataGrid 的 Checkbox 选择多行

    这么一来在取得 DataGrid 的 Checkbox 有勾选的数据值就可以沿用方式一的程序, 1.$('#ButonGetCheck').click(function(){ 2.var checke ...

  9. HDU 5615 Jam's math problem

    Jam's math problem Problem Description Jam has a math problem. He just learned factorization.He is t ...

  10. 阻止js冒泡

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...