`
rain16881
  • 浏览: 45853 次
  • 性别: Icon_minigender_1
  • 来自: 中山
社区版块
存档分类
最新评论

hibernate高级查询N表多对多问题

阅读更多
有一用户表.
user :id , userName , password......
有一分组表.
role: id , roleName, ....
有一功能表.
function: id, functionName.. ..

他们是多对多关系.
有两个表做外键
表一
userrelationrole: userid, roleid 放用户权限的多对多映射

表二
permission : roleid,functionid 用于放权限和功能的多对多映射

在hibernate 中是用set,bag来做双向的多对多的..事关..list是不可以做双向的

hibernate代码片段:
<set name="users" table="userrelationrole" lazy="false" inverse="true" cascade="save-update" order-by="userId asc">
            <cache usage="read-write"/>
            <key column="roleId" />
            <many-to-many class="org.ylcompany.rain.hibernate.User" column="userId" outer-join="auto" />
        </set>

        <set name="functions" table="permission" lazy="false"  cascade="save-update" order-by="functionId">
        <cache usage="read-write"/>
            <key column="roleId" />
            <many-to-many class="org.ylcompany.rain.hibernate.Function" column="functionId" />
        </set>
hibernate代码片段
这个是role中的hibernate片段
假如当我和道一个userid的时候,我要得到这个用户的功能的时候,
就要
User user = (User)basedao.loadByKey(org.ylcompany.rain.hibernate.User.class,"userName",this.userName);
Set _roles = user.getRoles();
Iterator _it = _roles.iterator();
while(_it.hasNext() ){
Role role = (Role)_it.next();
Set _functions = role.getFunctions();
Function _function = new Function();
Iterator __it = _functions.iterator();
while(__it.hasNext() ){}}
要这样子去迭代..
都要这样子麻烦的去查找功能的吗..这个就是在hibernate中的级联查询吗?

有没方法,当知道userid时,当得到全部的function对象呢.?

还有就是.在hibernate中..的高级查询.用Restrictions来做日期的范围查询是可以..

有没方法直接去得到某月的记录呢..

这个当然我的记录中是有记录的日期时间的.

我对hibernate的高级查询,N表多表多关联不是太懂..请网友们帮手..回复一下.
分享到:
评论

相关推荐

    Hibernate 课件及源代码

    内容涵盖安装 Hibernatetools 插件、Session 核心方法、持久化对象生命周期、对象关系映射(1-n、1-1、n-n、继承映射)、检索策略、检索方式(对象导航图、OID 检索、HQL、QBC、本地SQL)、Hibernate 一\二级缓存、...

    J2EE三大框架_笔记_a

    38-43Hibernate多对多案例笔记 J2EE框架_笔记_c: 44登陆案例(Struts+DAO+Hibernate)笔记 45-Struts+Hibernate完成分页笔记 46-Spring入门 47Spring_IOC(下)笔记 47-Spring_IOC-v(上)笔记 48Spring_AOP笔记...

    javaEE框架笔记,识货人下

    38-43Hibernate多对多案例笔记.pdf 4-Struts入门笔记.pdf 44登陆案例(Struts+DAO+Hibernate)笔记.pdf 45-Struts+Hibernate完成分页笔记.pdf 46-Spring入门.pdf 47-Spring_IOC-v(上)笔记.pdf 47Spring_IOC(下)...

    J2EE框架_笔记_c

    38-43Hibernate多对多案例笔记 J2EE框架_笔记_c: 44登陆案例(Struts+DAO+Hibernate)笔记 45-Struts+Hibernate完成分页笔记 46-Spring入门 47Spring_IOC(下)笔记 47-Spring_IOC-v(上)笔记 48Spring_AOP笔记...

    J2EE框架_笔记_b

    38-43Hibernate多对多案例笔记 J2EE框架_笔记_c: 44登陆案例(Struts+DAO+Hibernate)笔记 45-Struts+Hibernate完成分页笔记 46-Spring入门 47Spring_IOC(下)笔记 47-Spring_IOC-v(上)笔记 48Spring_AOP笔记...

    Spring攻略(第二版 中文高清版).part2

    第2章 高级Spring IoC容器 57 2.1 调用静态工厂方法创建Bean 57 2.1.1 问题 57 2.1.2 解决方案 57 2.1.3 工作原理 57 2.2 调用一个实例工厂方法创建Bean 58 2.2.1 问题 58 2.2.2 解决方案 59 2.2.3...

    Spring攻略(第二版 中文高清版).part1

    第2章 高级Spring IoC容器 57 2.1 调用静态工厂方法创建Bean 57 2.1.1 问题 57 2.1.2 解决方案 57 2.1.3 工作原理 57 2.2 调用一个实例工厂方法创建Bean 58 2.2.1 问题 58 2.2.2 解决方案 59 2.2.3...

    Struts2 in action中文版

    11.1.2 Struts 2如何解决本地Java对i18n支持的问题 243 11.2 Struts 2 i18n示例 244 11.2.1 Struts 2 i18n快速展示 244 11.2.2 幕后一览 246 11.3 Struts 2 i18n详情 247 11.3.1 Struts 2默认的TextProvider Re-...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    (1)针对多窗口类浏览器模式问题,指出并分析了该问题存在的原因,利用Activity的运行机制,通过Fragment栈对主要模块的Webview进行管理,实现对不同模块之间切换的控制。 (2)针对跨域数据交互问题,指出并分析了...

    整理后java开发全套达内学习笔记(含练习)

    Annotation [java] 代码注释 [ænәu'teiʃәn] anonymous adj.匿名的[ә'nɒnimәs]'(反义:directly adv.直接地,立即[di'rektli, dai'rektli]) apply v.应用,适用 [ә'plai] application n.应用,应用程序 [,æ...

    iBATIS实战

    6.2.3 避免N+1查询问题 105 6.3 继承 107 6.4 其他用途 109 6.4.1 使用语句类型和DDL 109 6.4.2 处理超大型数据集 109 6.5 小结 115 第7章 事务 116 7.1 事务是什么 116 7.1.1 一个简单的银行转账示例 116 7.1.2 ...

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    书中介绍了如何利用Struts 2 来解决Web 应用开发中的常见问题,同时还深入浅出地探讨了许多能帮助程序员编写Struts 2 应用程序的技巧,如管理页面导航活动、输入验证、国际化和本地化、对Ajax 的支持,等等。...

    ibatis 开发指南(pdf)

    纵观目前主流的ORM ,无论Hibernate 还是 Apache OJB,都对数据库结构提供了较为完整的封装,提供了从POJO 到数据库表的全 套映射机制。程序员往往只需定义好了POJO 到数据库表的映射关系,即可通过Hibernate ...

    Java/JavaEE 学习笔记

    第七章 高级查询...196 HTML&java; script学习笔记.....................198 HTML: 超文本标记语言.......................198 1、html简介...........198 2、动态网页开发技术......................199 3、html的...

    J2EE学习笔记(J2ee初学者必备手册)

    第七章 高级查询...196 HTML&JavaScript学习笔记.....................198 HTML: 超文本标记语言.......................198 1、html简介...........198 2、动态网页开发技术......................199 3、html的...

    java面试题以及技巧

    │ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ Struts配置文件详解.txt │ 上海税友.txt │ 上海税友软件 面试题.doc │ 公司培训文档-混淆的基本概念.doc │ 基本算法.doc │ ...

    java面试题目与技巧1

    │ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ Struts配置文件详解.txt │ 上海税友.txt │ 上海税友软件 面试题.doc │ 公司培训文档-混淆的基本概念.doc │ 基本算法.doc │ ...

    java面试题及技巧4

    │ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ Struts配置文件详解.txt │ 上海税友.txt │ 上海税友软件 面试题.doc │ 公司培训文档-混淆的基本概念.doc │ 基本算法.doc │ ...

Global site tag (gtag.js) - Google Analytics