`
lydia4me
  • 浏览: 24874 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hibernate中映射视图View来模拟子查询

阅读更多
由于hibernate不支持From子句中的子查询,很多地方处理起来不方便,考虑使用视图来模拟子查询,方法如下:
1、在数据库中使用sql建立需要的视图V_User
2、像建立普通表的映射一样,建立一个视图的Entity类UserView.java,用annotation或者xml进行ORM映射,@Table(name="V_User"),由于视图没有主键,UserView.java可以使用联合主键,建一个主键的Class,注意联合主键必须重写hashCode和equals方法。
3、在DAO中像使用普通Entity一样使用视图进行查询。
目前还没有找到怎么通过hibernate自动在数据库中创建视图,因此第一步还得手动在数据库中建立,这样数据库兼容性等需要自己考虑,部署时候也有点麻烦。
分享到:
评论

相关推荐

    struts +hibernate 电子留言系统

    Struts是一个MVC(Model-View-Controller)框架,主要处理Web层的业务逻辑,而Hibernate则是一个对象关系映射(ORM)工具,用于简化数据库操作。下面将详细介绍这两个框架以及如何在电子留言系统中应用。 **Struts...

    基于struts+hibernate的模拟银行转账

    在本项目中,“基于struts+hibernate的模拟银行转账”是一个利用经典的Java Web开发框架Struts1和持久层框架Hibernate构建的简单银行系统。这个系统旨在模拟网上银行的基本功能,如账户管理、转账操作等,从而帮助...

    eclipse luna hibernate tool 安装插件

    7. 重启Eclipse后,你应该可以在`Window` -> `Show View` -> `Other`中找到并打开Hibernate相关的视图,如Hibernate Explorer和Hibernate Configuration Editor。 8. 如果仍然无法看到Hibernate Tools,尝试清理...

    struts hibernate struts+hibernate 结合做的一个项目

    Struts是一个基于MVC(Model-View-Controller)设计模式的框架,主要负责处理用户请求和控制业务流程,而Hibernate则是一个对象关系映射(ORM)框架,用于简化数据库操作。 **Struts框架详解:** Struts框架是...

    hibernate N+1问题解决办法

    在HQL或 Criteria API 中,可以编写一个子查询来一次性获取所有关联的对象。 3. **JOIN fetch**: 使用`JOIN FETCH`来执行左外连接查询,一次性加载所有需要的数据。例如,修改上面的HQL查询为`from Order o JOIN ...

    struts2 hibernate 实现无限级联 树形分类

    Struts2是一个MVC(Model-View-Controller)框架,负责处理用户请求并协调应用程序的各个部分,而Hibernate则是一个对象关系映射(ORM)工具,简化了数据库操作,使得开发者可以使用面向对象的方式处理数据。...

    Hibernate入门(代码+笔记)

    以及开放 session 在视图(Open Session In View,OSIV)模式,确保在Web请求生命周期内保持一个持久化上下文,避免N+1查询问题。 总结来说,本教程涵盖了Hibernate的基础知识,从入门到实体映射,再到复合主键和...

    strus2+hibernate论坛项目

    Struts2作为MVC(Model-View-Controller)架构的一部分,主要负责处理用户请求,管理业务逻辑,以及与视图进行交互。而Hibernate则是一个强大的对象关系映射(ORM)工具,它简化了数据库操作,使得开发者可以使用...

    struts+hibernate实现的教师管理系统

    Hibernate允许开发者使用面向对象的方式来操作数据库,无需编写繁琐的SQL语句。在这个教师管理系统中,Hibernate负责数据库操作,如教师信息的增删改查。通过定义实体类(Entity)和映射文件(Hibernate Mapping ...

    hibernate+struts 入门PPT

    本教程可能包含了常用SQL语句的整理,包括选择、插入、更新和删除数据的基本语法,以及更复杂的联接、子查询和聚合函数等。这对于理解和优化数据库操作至关重要。 在整合Hibernate和Struts时,通常会使用Struts的...

    Hibernate+Spring+Struts2+ExtJS整合开发实例

    Hibernate提供了数据持久化、事务处理和查询服务等功能,使得数据库操作更加简便。 **Spring** 框架是Java企业级应用的核心框架,它提供了依赖注入(DI)和面向切面编程(AOP)等核心特性。Spring还包含了大量的子...

    Struts2+Hibernate写的下拉菜单级联两级分类

    Struts2是一个MVC(Model-View-Controller)框架,它主要用于处理用户请求、控制业务逻辑和展示视图,而Hibernate则是一个对象关系映射(ORM)框架,它简化了数据库操作,将Java对象与数据库表进行映射。 在这个...

    基于jsp+hibernate+mysql开发实现电子通讯录后台管理系统

    总的来说,这个基于jsp+hibernate+mysql的电子通讯录后台管理系统,集成了Web开发中的关键技术,实现了高效、安全、易用的通讯录管理,是学习和实践Java Web开发的优秀案例。无论对于初学者还是经验丰富的开发者,都...

    spring3.0API.chm、hibernate3.6API、struts2API

    标题中的"spring3.0API.chm、hibernate3.6API、struts2API"涉及的是三个关键的Java企业级开发框架:Spring、Hibernate和Struts2,它们是SSH(Spring、Struts、Hibernate)框架组合的一部分,广泛应用于构建复杂的Web...

    ssh(struts+spring+hibernate)教务管理信息系统(全部代码) 可以直接运行

    在SSH系统中,Hibernate负责数据持久化,通过HQL(Hibernate Query Language)或SQL进行查询。实体类映射XML文件(hibernate.cfg.xml和.hbm.xml)定义了数据库表与Java类的对应关系,使得开发者可以无需关注底层的...

    spring4+hibernate4+springmvc4+ztree+maven

    项目中的子模块如`csf-core`、`bst-util`、`csf-service`、`csf-persistent`、`csf-web`和`abst-parent`,很可能分别代表了核心业务逻辑、通用工具类、服务层、持久化层、Web前端和父POM模块。这样的模块划分有利于...

    struts1与 hibernate的增删改查

    - **查询(Query)**:使用 Criteria API、HQL(Hibernate Query Language)或者 Criteria API 的子查询进行复杂的数据查询。 在 Struts1 中,这些操作通常会封装在 Action 类中,Action 类负责调用对应的 Service ...

    青鸟Hibernate竞拍系统

    总的来说,青鸟Hibernate竞拍系统是一个集成了现代Web开发技术和数据库管理技术的实例,展示了如何在实际项目中运用MVC模式和ORM框架来构建复杂业务应用。通过对各个组件的深入理解和优化,可以进一步提升系统的性能...

    spring4.2+spring mvc +spring data+jpa+hibernate的程序构架

    Hibernate 提供了查询语言 HQL(Hibernate Query Language)和 Criteria API,方便开发者进行复杂的数据库查询。 在 `Meerkat-WEB` 文件中,我们可以期待找到项目的源代码结构,包括配置文件、Java 类(如 ...

    hibernate在集合上的lazy策略

    4. **N+1查询问题**:解释在不恰当使用懒加载时可能出现的问题,比如“N+1查询”,以及如何通过批处理或子查询解决这个问题。 5. **性能优化**:讨论如何根据业务需求调整懒加载策略,以平衡性能和内存使用,可能...

Global site tag (gtag.js) - Google Analytics