`
liuhello
  • 浏览: 69209 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

hibernate与spring整合的问题

阅读更多
Hibernate: select spring0_.id as col_0_0_ from spring spring0_ where spring0_.username=?
Hibernate: select spring0_.id as col_0_0_ from spring spring0_ where spring0_.username=?
Hibernate: select spring0_.id as id0_0_, spring0_.username as username0_0_, spring0_.password as password0_0_ from spring spring0_ where spring0_.id=?
Hibernate: select spring0_.id as col_0_0_ from spring spring0_ where spring0_.username=?
Hibernate: select spring0_.id as col_0_0_ from spring spring0_ where spring0_.username=?
Hibernate: select spring0_.id as id0_0_, spring0_.username as username0_0_, spring0_.password as password0_0_ from spring spring0_ where spring0_.id=?
Hibernate: select spring0_.id as col_0_0_ from spring spring0_ where spring0_.username=?
Hibernate: select spring0_.id as col_0_0_ from spring spring0_ where spring0_.username=?
Hibernate: select spring0_.id as id0_0_, spring0_.username as username0_0_, spring0_.password as password0_0_ from spring spring0_ where spring0_.id=?

其中我只用了一次向数据库查询数据怎么这一句
Hibernate: select spring0_.id as col_0_0_ from spring spring0_ where spring0_.username=?
要执行两此
其中查询是在spring的validator中中进行的事物管理使用spring的声明式事物管理
引用
Spring DBuser = udao.getUserByName(user.getUsername());

而getUserByName()的定义如下
public class SpringDaoImpl extends HibernateDaoSupport implements SpringDao {

public Spring getUserByName(String name) {
		Session session = this.getSession();
		Query q = session.createQuery("from Spring s where s.username=?");
		q.setString(0, name);
		Spring user = null;
		if(q.iterate().hasNext())
		{
			user = (Spring) q.iterate().next();
		}
		return user;
	}
}

而现在我有试着重新把这个方法再定义下,其改后如下
public Spring getUserByName(String name) {
		List list = this.getHibernateTemplate().findByNamedParam(
				"from Spring s where s.username=:name", "name", name);
		Iterator it = list.iterator();
		Spring user = null;
		if (it.hasNext()) {
			user = (Spring) it.next();
		}
		return user;
	}

这时我重新运行这个web程序 看下运行的结果,却发现这时没有hibernate所说的lazy-load(懒集合),而是直接从database里把所有的数据加进来
其运行两次的结果如下:
Hibernate: select spring0_.id as id0_, spring0_.username as username0_, spring0_.password as password0_ from spring spring0_ where spring0_.username=?
Hibernate: select spring0_.id as id0_, spring0_.username as username0_, spring0_.password as password0_ from spring spring0_ where spring0_.username=?

这是否就意味着没有使用到hibernate提供的性能优化的功能呢?或者这背后还有更多的考虑呢?真是迷惑啊,还请各位指点。
分享到:
评论

相关推荐

    hibernate与spring整合demo

    总结,Hibernate与Spring的整合是Java开发中的常见实践,它将ORM的强大功能与Spring的全面管理相结合,为开发者带来了极大的便利。理解和掌握这种整合方式,对于提升Java EE应用开发的效率和质量至关重要。

    Spring与Hibernate集成

    **Spring与Hibernate集成详解** 在Java企业级应用开发中,Spring和Hibernate是两个非常重要的框架。Spring是一个全方位的轻量级应用框架,提供了强大的依赖注入、AOP(面向切面编程)以及各种服务管理功能。而...

    Struts2+Hibernate+Spring整合开发深入剖析与范例应用03

    Struts2、Hibernate和Spring是Java企业级应用中三大核心框架,它们的整合使用能够构建出高效、可维护性高的Web应用程序。本篇将深入剖析这三者如何协同工作,并提供实际范例应用。 首先,Struts2作为MVC(模型-视图...

    Struts,Hibernate,Spring集成开发宝典.pdf

    《Struts Hibernate Spring集成开发宝典》选取的实例繁简适中,与实际开发工作紧密结合,内容讲解由浅入深、循序渐进,可以满足不同层次读者的需求。 作者简介 陈天河,具有多年的软件开发经验,从事基于Java的Web...

    Struts Hibernate Spring集成开发宝典 源码

    《Struts Hibernate Spring集成开发宝典》以Struts,Hibernate,Spring为核心详细地讲解了这三个组件的基础知识和基本使用方法,并通过一系列集成开发实例讲解了这三个组件在J2EE项目中的应用。《Struts Hibernate ...

    SpringMVC+Hibernate+Spring整合实例

    DAO通过Hibernate与数据库交互,完成数据的增删改查操作。最后,Controller将处理结果封装成Model,传递给视图进行渲染并返回给客户端。 在实际项目中,这样的整合方式能够提供一个灵活、可扩展且易于维护的架构。...

    SSH(struts2,Hibernate,Spring)整合及测试亲测可用

    Struts2的Action会处理这些用户请求,并调用Spring管理的Service层对象,Service层再通过Hibernate与数据库进行交互。例如,`UserAction`可能用于处理用户的登录请求,它会调用`UserService`中的`login()`方法,`...

    hibernate和spring整合Java项目

    本文将深入探讨Hibernate与Spring的整合过程,以及在项目中的实际应用。 一、Hibernate简介 Hibernate是一个强大的ORM框架,它为Java开发者提供了一种方便的方式来管理数据库操作。通过使用Hibernate,我们可以将...

    精通J2EE--Eclipse、Struts、Hibernate及Spring整合应用案例全书

    《精通J2EE--Eclipse、Struts、Hibernate及Spring整合应用案例全书》是一本深入探讨J2EE Web应用程序开发的专业书籍。J2EE,全称Java 2 Platform, Enterprise Edition,是Java平台上用于构建企业级分布式应用程序的...

    Struts 2+Hibernate+Spring整合开发技术详解sample.pdf

    Struts 2+Hibernate+Spring整合开发技术详解sample.pdf

    struts2+HIbernate+Spring整合所需jar包

    此外,可能还需要`struts2-convention-plugin.jar`用于自动配置,以及`struts2-spring-plugin.jar`来实现与Spring的集成。 其次,`Hibernate`是持久层框架,通过ORM(对象关系映射)技术实现了数据库操作的便捷性。...

    Struts2+Hibernate+Spring整合开发技术详解19章网上书店完整源码

    Struts2+Hibernate+Spring整合开发技术详解19章网上书店完整源码(内附数据库导出文件) 与书上最后一章内容完全对应 可以结合书上教程进行最后一章学习

    最新版本的Struts2+Spring4+Hibernate4框架整合

    整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6。 此外,还有:log4j、slf4j、junit4、ehcache等知识点。 项目...

    Struts2+Hibernate+Spring整合教程

    此外,Spring还包含大量模块,如Spring JDBC、Spring ORM(集成Hibernate等ORM工具)、Spring MVC(可以替代Struts2作为MVC框架)、Spring Boot等,形成了一站式解决方案。 **SSH整合** SSH整合的主要目的是实现各...

    struts hibernate spring集成开发宝典光盘源码(二).rar

    这个压缩包“struts hibernate spring集成开发宝典光盘源码(二).rar”显然是一个用于学习这三大框架集成的实践项目,包含了一些示例代码和接口定义。 1. Struts:Struts 是一款开源的MVC(Model-View-Controller...

    Spring与Hibernate整合

    SSH整合,即Struts、Spring和Hibernate的集成,是Java Web开发中常见的一种技术栈,它能有效地解决MVC模式下的业务逻辑处理和数据持久化问题。本篇将详细介绍Spring3.3与Hibernate2.1整合的过程及其相关知识点。 ...

    Struts+Hibernate+Spring整合项目之登录部分

    总的来说,"Struts+Hibernate+Spring整合项目之登录部分"涉及到Java Web开发中的多个核心技术点,包括MVC架构的理解、ORM工具的使用、依赖注入的实践以及安全机制的实施。通过这个项目的实现,开发者可以深入理解...

    Hibernate和spring集成

    《Hibernate与Spring集成详解》 在Java开发领域,Spring框架以其强大的依赖注入和面向切面编程能力,成为了企业级应用的首选。而Hibernate作为一款优秀的对象关系映射(ORM)工具,极大地简化了数据库操作。当这...

    ssh整和技术struts与hibernate整合,struts与spring整合,hibernate与spring整合,struts,hibernate,sp

    Struts技术资料 hibernate技术资料 spring技术资料 ssh整合技术(struts与hibernate整合,struts与spring整合,hibernate与spring整合,struts,hibernate,spring整合)

    Struts2+Hibernate+Spring整合开发深入剖析与范例应用02

    这个"Struts2+Hibernate+Spring整合开发深入剖析与范例应用02"的学习资源,很可能是关于这三大框架集成使用的详细教程或案例集。02这个文件名可能代表系列的第二部分,意味着它可能在前一部分的基础上进一步深入讲解...

Global site tag (gtag.js) - Google Analytics