`
friendsys
  • 浏览: 347411 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

Spring集成Hibernate源码方法解析一

阅读更多
继承HibernateDaoSupport后. 里面有直接的getSession方法 不需要getHibernateTemplate()获取实例,该方法提供了一个重载,
用于在不存在的时候创建一个session

其中可以选择是否session的单例.就是一个线程内共享一个session,需要研究找下点资料NativeSession,以及两个boolean设置

get方法有四个重载 第一个为普通的Class类型,主键
  第二个为类,主键,是否锁定
  第三个和第四个为executeWithNativeSession的方法调用

load方法也是四个,使用和上面一样 关注executeWithNativeSession,以及String entityName 这个的类型到底是什么
load方法还有个重载,传入一个Object对象,以及一个ID 可是返回void,应该是用于加载数据到缓存,或者是重新加载一次数据
loadall方法用于加载指定类的全部数据库实例 参数为一个class
refresh 用于更新对象 两个重载,包括了是否锁定LockMode

contains方法判断是否存在当前对象,传入Object对象

evict方法用于一级缓存中清除一个对象

initialize方法 强制全部加载一个对象 传入一个Object 代理对象 PS:这里的代理应该指数据库数据在内存中的对象映射

lock 方法 会从数据库检查版本

String entityName 用于在同类名的时候进行更新操作 ,用到的方法很多

Update 同样都是四个方法重载

savaOrUpdateAll(Collection) 用于传入一个集合,然后进行更新, 其实也是在内部进行循环更新

lock   是把一个没有更改过的脱管状态的对象变成持久状态
Update 是把一个已经更改过的脱管状态的对象变成持久状态

session.replicate() 直接把游离态对象变成持久态的对象

persist把一个瞬态的实例持久化 不过需要flush的时候才会被保存

clear方法同样提供了清空session缓存操作

查询的语句

find方法 3个重载
第一个为简单的HQL语句
第二个为加入一个Object参数的语句,用于传递单一的条件,其中在方法中会被转换成一个数组
第三个为传入一个数组,会在循环里面赋值给HQL语句中的?. 也就是第二个重载的实现


findByNamedParam()方法 2个重载,通过传入HQL语句(带:参数),对应的参数名,以及对应的值 进行HQL查询
其中第二个是多参数的形式,第一个中也是调用了第二个的实现

findByValueBean() 方法提供了HQL语句和对象的查询 传入一个HQL语句和一个Object对象,setProperties的形式

findByNamedQuery() 应该是提供了按照顺序的复制生成HQL语句,具体用途未知,可能是根据属性名和HQL中的名字,进行自动转换

findByNamedQueryAndNamedParam() 两个重载,提供了上面两种方法的合体

findByNamedQueryAndValueBean()上面也进行了描述

findByCriteria()根据Criteria(条件)进行查询 提供了两个重载
其中第一个中进行了第二个重载的调用
第二个方法中的后面两个参数提供了firstResult和maxResults的分页功能,如果不设置,可以成-1;也就是第一个重载的实现

findByExample()提供了四个的重载, 其中两个是输入了完整的类名,防止类名重复
参数基本也为Object,firstResult,maxResults

iterate()方法提供了3个的重载,分别为一个HQL语句,一个Object或者Object数组
用于直接生成Iterator的方式查询

closeIterator(Iterator it) 用于显式的关闭该Iterator对象

bulkUpdate()提供了3个重载,功能类似与HQL和参数的传入,然后进行操作,不过是在内部进行了循环的执行HQL
分享到:
评论

相关推荐

    Spring2 Hibernate3集成

    4. **DAO支持**:Spring提供了对DAO的支持,可以方便地集成Hibernate DAO实现。 #### 三、示例代码解析 下面基于提供的代码片段,详细分析Spring2 Hibernate3集成的关键点。 ##### 1. UserDAO接口定义 ```java ...

    springmvc-spring-hibernate 源码

    总之,这个项目展示了如何集成Spring MVC、Spring和Hibernate来构建一个完整的Java Web应用,涉及到的主要知识点包括:Spring MVC的请求处理机制、Spring的依赖注入和事务管理、Hibernate的ORM映射和分页查询。...

    springmvc + spring + hibernate 源码下载

    标题“springmvc + spring + hibernate 源码下载”涉及到的是一个集成开发环境,它涵盖了Spring MVC、Spring和Hibernate这三个关键的Java企业级开发框架。这篇文章或资源可能提供了这三大框架的源代码,便于开发者...

    SpringMVC+Spring+hibernate 源码

    Spring可以很好地与Hibernate集成,通过SessionFactoryBean管理Hibernate配置,使用HibernateTemplate或JPA的EntityManager进行数据库操作。Spring的事务管理支持可以在多层服务间透明地处理事务,确保数据一致性。 ...

    spring+hibernate学习笔记和项目源代码

    本资源包“spring+hibernate学习笔记和项目源代码”提供了深入理解和实践这两个框架的机会,同时也包含了Struts的集成,形成经典的SSH(Spring、Struts、Hibernate)架构。以下是关于这些主题的详细知识解析: 1. *...

    Spring+Hibernate网站源码

    通过对"ACWebsite"源码的分析,我们可以学习到如何在实际项目中集成Spring和Hibernate,以及如何组织MVC架构。这样的网站源码对于理解企业级应用开发流程和最佳实践有着极高的参考价值。在实践中,开发者还可以结合...

    中国移动业务管理系统struts+spring+hibernate源码.rar3.84MB

    《中国移动业务管理系统基于Struts+Spring+Hibernate的架构解析》 中国移动业务管理系统是企业级的信息管理系统,其核心技术栈包括Struts、Spring和Hibernate,这三者构成了经典的Java Web开发框架。Struts作为表现...

    springmvc+spring+hibernate的项目源代码

    1. 创建一个新的Maven或Gradle项目,并在pom.xml或build.gradle中添加Spring、Spring MVC和Hibernate的依赖。 2. 配置Spring的上下文文件,声明Bean定义,包括DataSource、SessionFactory、TransactionManager等。 3...

    struts+hibernate+spring源码

    **Hibernate框架源码解析:** Hibernate作为强大的ORM框架,它的源码涵盖了Entity、Session、SessionFactory等核心概念。通过源码,我们可以深入了解Hibernate如何将Java对象与数据库表进行映射,以及Query和...

    spring源码深入解析

    《Spring源码深入解析》是一本深度探讨Spring框架核心机制的文档,主要针对Spring5版本...文档《Spring源码解析-tom.docx》应包含了上述各方面的详细解读,对于希望深入了解Spring的开发者来说,是一份宝贵的参考资料。

    会员管理系统jar源码下载(struts+hibernate+spring).zip

    这是一个基于Java技术栈的会员管理系统源码,使用了经典的SSH框架——Struts、Hibernate和Spring。这个系统的主要目的是实现对会员信息的有效管理和操作,通过这三个框架的集成,实现了业务层、持久层和表现层的解耦...

    spring-orm-hibernate4源码

    《深入解析Spring ORM Hibernate4源码》 Spring ORM框架与Hibernate4的集成是Java开发中的常见实践,这个源码库提供了直接导入Eclipse工程的便利,让我们有机会深入了解这两个强大工具的内部工作机制。本文将围绕...

    spring 源码中文注释

    在数据访问层,Spring支持JDBC、ORM(Hibernate、MyBatis等)框架的集成,使得数据库操作变得简单。在Web MVC模块中,`DispatcherServlet`作为核心组件,负责请求的分发,`ModelAndView`和`HandlerMapping`等类则...

    Spring4 Hibernate4 jersey项目源码

    《Spring4 Hibernate4 Jersey项目源码解析》 在IT领域,Spring、Hibernate和Jersey是三个备受推崇的开源框架,它们分别在应用层管理、持久层操作和RESTful服务提供方面展现出强大的功能。本篇文章将深入探讨一个...

    Spring5.2.6源码解析

    在这篇文章中,我将对 Spring 5.2.6 的源码进行解析,重点关注其核心功能和设计理念。 一、Spring 核心组件概览 Spring 的核心组件包括: Spring Core: 提供基础设施,如 IoC 容器、BeanFactory 等。 Spring ...

    Struts2+Spring+Hibernate框架技术与项目实战源码与PDF.3

    同时,Spring还提供了对Hibernate的集成,使得ORM(对象关系映射)操作更加简便。 Hibernate是Java领域中最流行的ORM框架,它允许开发者使用面向对象的方式操作数据库,降低了数据库操作的复杂度。Hibernate通过...

    hibernate源码分析一[启动过程]

    标题:hibernate源码分析一[启动过程] 在深入探讨Hibernate框架的启动过程之前,我们首先需要了解几个核心的概念和类,它们是Hibernate启动流程的基石。 ### 1. 关键类与接口 #### Environment类 `Environment`类...

    Spring攻略(第二版)书籍源码

    《Spring攻略(第二版)书籍源码》是一个深入学习Spring框架的重要资源,它包含了作者在编写书籍过程中所使用的完整代码示例。这份源码旨在帮助读者更好地理解和实践Spring框架的各种功能和最佳实践。 Spring框架是...

    第25,26讲 --搭建和配置Spring与Hibernate整合的环境

    在本主题中,我们将深入探讨如何搭建和配置一个集成了Spring和Hibernate的开发环境。Spring是一个全面的Java应用框架,提供了依赖注入、AOP(面向切面编程)以及丰富的工具支持,而Hibernate则是一个强大的对象关系...

Global site tag (gtag.js) - Google Analytics