每一次的学习,都是一小步一小步的进行的,学习语言,重要的是能把hello world写出来

以及在学习过程中出现的问题能够及时的记录并总结

spring目前最新的版本是4.3,而hibernate是5.2

最新版本的学习是要花费很大的勇气进行的

首先是互联网上几乎没有什么资料可供参考

其次,这两个框架在一些业务逻辑的处理方法上,和之前的版本有很大的不同

首先是hibernate,构建sessionfactory不再是3.5以前版本的老办法了

下面是我的获得sessionfactory方法

public static SessionFactory getSessionFactory()
{
SessionFactory sessionFactory = null;
final StandardServiceRegistry registry = new StandardServiceRegistryBuilder()
.configure().build();
try
{
sessionFactory = new MetadataSources(registry).buildMetadata()
.buildSessionFactory();
} catch (Exception e)
{
StandardServiceRegistryBuilder.destroy(registry);
}
return sessionFactory;
}

spring是一个集大成者,可以很好的管理hibernate

再者。spring aop功能太强大了,利用切面编程可以方便的进行事务管理

spring中可以直接对hibernate进行配置,所以以前的hibernate.cfg.xml可以直接舍弃掉了

我们可以在spring配置文件中进行sessionFactory配置,dataSource配置以及事务配置

<bean id="sessionFactory"
class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />

此处注意在hibernate5里面,我们的sessionFactory由spring提供的org.springframework.orm.hibernate5.LocalSessionFactoryBean类进行实例化

dataSource进行数据源的定义

我们可以用c3p0进行数据缓冲池

添加事务支持

<!-- 配置Hibernate事务管理器 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean> <aop:config proxy-target-class="true"> <aop:pointcut expression=" execution(* top.scorpion.service..*(..))"
id="serviceMethod" /> <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceMethod" />
</aop:config> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes>
<tx:method name="*" />
</tx:attributes>
</tx:advice>

这样我们就可以利用spring管理hibernate了

spring4整合hibernate5以及出现的问题解决办法的更多相关文章

  1. Spring4整合Hibernate5时不能自动生成表结构

    © 版权声明:本文为博主原创文章,转载请注明出处 1.问题描述: Spring4整合Hibernate5时,不再使用hibernate.cfg.xml,将其内容整合到Spring配置文件中,启动后不能 ...

  2. spring4整合xfire1.2.6的问题解决

    历史原因,需要用xfire发布webservice,项目用了spring4,整合几个坑,记录下(其他的配置忽略,相关资料比较多): 1. xfire定义bean的时候,用了 singleton 属性, ...

  3. WPF中不规则窗体与WebBrowser控件的兼容问题解决办法

    原文:WPF中不规则窗体与WebBrowser控件的兼容问题解决办法 引言 这几天受委托开发一个网络电视项目,要求初步先使用内嵌网页形式实现视频播放和选单,以后再考虑将网页中的所有功能整合进桌面程序. ...

  4. Windows XP系统下添加任务计划常出现问题解决办法

    Windows XP系统下添加任务计划常出现问题解决办法 计划任务就是让电脑在指定的时间内执行指定的动作(计划动作),这些动作可以是一个程序,也可以是一个批处理,但是至少是可以运行的(通俗一些就是双击 ...

  5. Open Sans字体兼容问题解决办法[font-face]

    参考:http://www.tantengvip.com/2014/11/open-sans/ 1.font-face使用方法 font-face是CSS3中的一个模块,主要是把自定义的Web字体嵌入 ...

  6. ASP+Access UTF-8 网页乱码问题解决办法

    用ACCESS数据库和ASP做网站时用UTF-8编码有时会出现乱码,再者网页出错或者刷新页面后就是乱码,如果数据库取值乱码在开头加上<%@LANGUAGE="VBSCRIPT" ...

  7. 易通电脑锁2007V6.3.3.3无法卸载问题解决办法

    易通电脑锁2007V6.3.3.3无法卸载问题解决办法把原版文件拷贝回去.bat@echo offcolor 2Fecho 该批处理会把易通电脑锁2007版原文件拷贝回去,解决易通电脑锁卸载时出现的运 ...

  8. Sublime Text 3 若干问题解决办法

    1.在高分屏下中文文件夹名显示异常问题解决办法 新买了个2K的屏,有些中文文件夹名全部变成了“口口”. 在“preferences” - "设置-用户" 添加 "dpi_ ...

  9. Spring定时任务,Spring4整合quartz2.2,quartz-scheduler定时任务

    Spring4整合quartz2.2,quartz-scheduler定时任务,Spring定时任务 >>>>>>>>>>>>& ...

随机推荐

  1. Java基础00-集合基础15

    1. 集合基础 1.1 集合概述 1.2 ArrayList构造方法和添加方法 代码示例: 想通过指定索引添加到最后一个位置的话就填写,现有索引的+1,比如3个索引就是4.如果在指定索引的位置添加没有 ...

  2. Java基础00-Debug11

    1. Debug 1.1 Debug概述 1.2 Debug操作流程 1.2.1 如何加断点 1.2.2 如何运行加了断点的程序 1.2.3 看哪里 1.2.4 点哪里 1.2.5 如何删除断点 多个 ...

  3. 以初学者的角度理解:SQL实现关系除法

    以初学者的角度理解:SQL实现关系除法 相信各位在学习SQL的时候,由于没有一家SQL语言提供除法命令而只能自己写一个.而网上大多就是四步骤加一个模板: select distinct A.X fro ...

  4. pip3 pip 安装包 临时更换镜像地址

    在使用pip3或者pip安装某些第三方包的时候,可能会遇到网络原因导致的安装失败. 可以在安装第三方包的时候临时指定镜像地址. 命令: pip3 install 库名 -i 镜像地址 例如:# pip ...

  5. sqlite无法保存数据

    springboot使用连接sqlite数据,使用jdbc:sqlite::resource:db/XXX.db方式连接数据库为只读,使用绝对路径才可以写入.

  6. header.mapper 用法

    const header= [xxxx,xxxx] 基本用法是 const obj = header.map( item=>{ obj= item+'123'; return  obj }) c ...

  7. ES6 属性方法简写一例:vue methods 属性定义方法

    const o = { method() { return "Hello!"; } }; // 等同于 const o = { method: function() { retur ...

  8. docker上运行mysql服务器

    1.搜索MySQL镜像 $ docker search mysql INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.i ...

  9. Linux下Nginx基础应用

    Nginx简介: Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.其将源代码以类BSD许可证的形式发布,因 ...

  10. Laravel Ignition 2.5.1 代码执行漏洞(CVE-2021-3129)

    影响范围 Laravel 框架 < 8.4.3 facade ignition 组件 < 2.5.2 poc git clone https://github.com/simonlee-h ...