`
xiandaoyan
  • 浏览: 21478 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

spring中的hibernate回调机制

阅读更多

对应于Hibernate Session接口暴露出来的方法,HibernateTemplate提供了大量与之对应的接口,但是存在一下几种情况,需要使用到回调机制:

        1.需要使用的Seesion方法没有在HibernateTemplate中提供是需要使用回调机制。使用实例:

public List findByUserName(final String userName)

        {

          /**
         * 根据用户名取用户的信息
         */
         public List getInfoByUserName(final String userName)
        {
                 return (List) this.hibernateTemplate.execute(new HibernateCallback(){
                     public Object doInHibernate(Session session) throws HibernateException, SQLException
            {
                Criteria criteria = session.createCriteria(UserDto.class);
                criteria.add(Expression.eq("userName",userName));
                criteria.setMaxResults(10);
                return criteria.list(); 
            }
          });
         }

 

        2.需要使用sql语句时可以使用。实例如下:

         /**
           * 根据日期区间查找统计信息
       */

        String sql = "select DATE_FORMAT(time ,'%X-%v) update_time,avg(time1)" +
                    "time1,sum(salary) salary" +
                    "from table where update_time between '2010-01-01' and '2010-12-01' ";
        public List find(final String sql)
         {
           List list = (List) this.hibernateTemplate.execute(
                new HibernateCallback()
                {
                    public Object doInHibernate(final Session session)
                            throws HibernateException, SQLException
                    {
                        Query query = session.createSQLQuery(sql);
                        return query.list();
                    }
                });
            return list;
          }

 

        

 

未完待续......

1
4
分享到:
评论

相关推荐

    车辆管理系统(struts+hibernate+spring+oracle).rar

    车辆管理系统(struts+hibernate+spring+oracle).rar 对​公​务​用​车​进​行​档​案​、​费​用​、​调​度​、​维​修​、​安​全​、​运​行​等​全​方​位​的​管​理​和​统​计​,​以​方​便​...

    Spring-Reference_zh_CN(Spring中文参考手册)

    12.2.4. 不使用回调的基于Spring的DAO实现 12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的事务划分 12.2.8. 事务管理策略 12.2.9. 容器资源 vs 本地资源 12.2.10. 在应用服务器...

    Spring中文帮助文档

    12.2.4. 不使用回调的基于Spring的DAO实现 12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的事务划分 12.2.8. 事务管理策略 12.2.9. 容器资源 vs 本地资源 12.2.10. 在应用...

    hibernate-demo:解释了 jpa 回调的 Hibernate Demo

    Hibernate演示解释了 JPA 回调的 Hibernate Demo 这个项目是关于Hibernate和使用@PrePersist/@PostPersist 嵌入 Jpa 实体管理器回调,并支持其他此类注释,这些注释基本上存在于Hibernate中。 最初该项目是作为我对 ...

    Spring.3.x企业应用开发实战(完整版).part2

    8.3.1 使用模板和回调机制 8.3.2 Spring为不同持久化技术所提供的模板类 8.4 数据源 8.4.1 配置一个数据源 8.4.2 获取JNDI数据源 8.4.3 Spring的数据源实现类 8.5 小结 第9章 Spring的事务管理 9.1 数据库事务基础...

    Spring 2.0 开发参考手册

    12.2.4. 不使用回调的基于Spring的DAO实现 12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的事务划分 12.2.8. 事务管理策略 12.2.9. 容器资源 vs 本地资源 12.2.10. 在应用...

    Spring API

    12.2.4. 不使用回调的基于Spring的DAO实现 12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的事务划分 12.2.8. 事务管理策略 12.2.9. 容器资源 vs 本地资源 12.2.10. 在应用...

    spring chm文档

    12.2.4. 不使用回调的基于Spring的DAO实现 12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的事务划分 12.2.8. 事务管理策略 12.2.9. 容器资源 vs 本地资源 12.2.10. 在应用...

    Spring3.x企业应用开发实战(完整版) part1

    8.3.1 使用模板和回调机制 8.3.2 Spring为不同持久化技术所提供的模板类 8.4 数据源 8.4.1 配置一个数据源 8.4.2 获取JNDI数据源 8.4.3 Spring的数据源实现类 8.5 小结 第9章 Spring的事务管理 9.1 数据库事务基础...

    Java学习笔记-个人整理的

    {7.2}回调模式与FileFilter}{104}{section.7.2} {7.3}\ttfamily RandomAccessFile}{106}{section.7.3} {7.4}基本类型数据序列化}{108}{section.7.4} {7.5}String的序列化}{109}{section.7.5} {7.6}InputStream...

    DWR中文文档.pdf

    DWR中的JavaScript简介 44 5.1 简单的回调函数 44 5.2 调用元数据对象 45 5.3 查找回调函数 45 5.4 创造一个与Java对象匹配的Javascript对象 46 <br/>第6章. engine.js 功能 47 6.1 使用...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    2、 Ajax我们主要应用就是xmlhttprequest,回调函数实现局部刷新达道数据更新! 4.2需求分析 Blog网站主要是实现注册用户登录、管理相关信息、博文及相关评论、查看留言、友情链接、及图片的上传和图像的播放而为...

    DWR.xml配置文件说明书(含源码)

    spring beanName 从配置文件中读取的bean的名称 “scope参数允许你配置creator的生命周期,共有以下几个选项:application,session,request,page.这些参数对于用过jsp或servlet的开发人员并不陌生. 3.1 Uing static ...

    拦截器和控制器的区别

    1、拦截器基于动态代理 , 过滤器基于函数回调 2、拦截器不依赖于servlet容器,通过动态代理实现,过滤器依赖于servlet容器 3、拦截器在方法前后,异常前后等调用,而过滤器只能在请求前和请求后各调一次。 4、拦截...

    haddock-os:面向资源受限的微处理器的轻巧,节能,非抢占,事件驱动,易于使用的嵌入式OS

    Haddock-OSA lightweight, energy-awareness, non-...细粒度能量管理细粒度能量管理(模块级):每个任务都可以单独设定Hibernate唤醒的回调函数。整体调度(系统级):除了任务级别的Hibernate唤醒之外,OS s

    在JavaScript的jQuery库中操作AJAX的方法讲解

    Java软件开发中,后台中我们可以通过各种框架,像SSH等进行对代码的封装,方便我们对Java代码的编写,例如,Struts,SpringMVC对从前台到action的流程进行封装控制,使我们只需要进行一些简单配置就可以实现;...

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

    其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理Struts和Hibernate。 WebStorage HTML新增的本地存储解决...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    10.8.1 实体的生命周期与回调事件 444 10.8.2 使用专门的监听器实现回调 448 10.8.3 为全部实体配置默认监听器 450 10.8.4 排除监听器 452 10.9 本章小结 455 第11章 JPA的查询支持 456 11.1 查询API 457 11.1.1 ...

    JAVA自学之路

    但是如果把时间花在spring的各种细节的研究上,花在研究中国企业应用不广泛地的spring mvc上,这个精力就太浪费了,而且学习的积极性会受到打击,谁愿意整天泡在细节的蜘蛛网中挣扎不出来呢?谁愿意天天经历风雨却...

Global site tag (gtag.js) - Google Analytics