spring4整合hibernate5以及出现的问题解决办法
每一次的学习,都是一小步一小步的进行的,学习语言,重要的是能把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以及出现的问题解决办法的更多相关文章
- Spring4整合Hibernate5时不能自动生成表结构
© 版权声明:本文为博主原创文章,转载请注明出处 1.问题描述: Spring4整合Hibernate5时,不再使用hibernate.cfg.xml,将其内容整合到Spring配置文件中,启动后不能 ...
- spring4整合xfire1.2.6的问题解决
历史原因,需要用xfire发布webservice,项目用了spring4,整合几个坑,记录下(其他的配置忽略,相关资料比较多): 1. xfire定义bean的时候,用了 singleton 属性, ...
- WPF中不规则窗体与WebBrowser控件的兼容问题解决办法
原文:WPF中不规则窗体与WebBrowser控件的兼容问题解决办法 引言 这几天受委托开发一个网络电视项目,要求初步先使用内嵌网页形式实现视频播放和选单,以后再考虑将网页中的所有功能整合进桌面程序. ...
- Windows XP系统下添加任务计划常出现问题解决办法
Windows XP系统下添加任务计划常出现问题解决办法 计划任务就是让电脑在指定的时间内执行指定的动作(计划动作),这些动作可以是一个程序,也可以是一个批处理,但是至少是可以运行的(通俗一些就是双击 ...
- Open Sans字体兼容问题解决办法[font-face]
参考:http://www.tantengvip.com/2014/11/open-sans/ 1.font-face使用方法 font-face是CSS3中的一个模块,主要是把自定义的Web字体嵌入 ...
- ASP+Access UTF-8 网页乱码问题解决办法
用ACCESS数据库和ASP做网站时用UTF-8编码有时会出现乱码,再者网页出错或者刷新页面后就是乱码,如果数据库取值乱码在开头加上<%@LANGUAGE="VBSCRIPT" ...
- 易通电脑锁2007V6.3.3.3无法卸载问题解决办法
易通电脑锁2007V6.3.3.3无法卸载问题解决办法把原版文件拷贝回去.bat@echo offcolor 2Fecho 该批处理会把易通电脑锁2007版原文件拷贝回去,解决易通电脑锁卸载时出现的运 ...
- Sublime Text 3 若干问题解决办法
1.在高分屏下中文文件夹名显示异常问题解决办法 新买了个2K的屏,有些中文文件夹名全部变成了“口口”. 在“preferences” - "设置-用户" 添加 "dpi_ ...
- Spring定时任务,Spring4整合quartz2.2,quartz-scheduler定时任务
Spring4整合quartz2.2,quartz-scheduler定时任务,Spring定时任务 >>>>>>>>>>>>& ...
随机推荐
- Java基础00-集合基础15
1. 集合基础 1.1 集合概述 1.2 ArrayList构造方法和添加方法 代码示例: 想通过指定索引添加到最后一个位置的话就填写,现有索引的+1,比如3个索引就是4.如果在指定索引的位置添加没有 ...
- 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 如何删除断点 多个 ...
- 以初学者的角度理解:SQL实现关系除法
以初学者的角度理解:SQL实现关系除法 相信各位在学习SQL的时候,由于没有一家SQL语言提供除法命令而只能自己写一个.而网上大多就是四步骤加一个模板: select distinct A.X fro ...
- pip3 pip 安装包 临时更换镜像地址
在使用pip3或者pip安装某些第三方包的时候,可能会遇到网络原因导致的安装失败. 可以在安装第三方包的时候临时指定镜像地址. 命令: pip3 install 库名 -i 镜像地址 例如:# pip ...
- sqlite无法保存数据
springboot使用连接sqlite数据,使用jdbc:sqlite::resource:db/XXX.db方式连接数据库为只读,使用绝对路径才可以写入.
- header.mapper 用法
const header= [xxxx,xxxx] 基本用法是 const obj = header.map( item=>{ obj= item+'123'; return obj }) c ...
- ES6 属性方法简写一例:vue methods 属性定义方法
const o = { method() { return "Hello!"; } }; // 等同于 const o = { method: function() { retur ...
- docker上运行mysql服务器
1.搜索MySQL镜像 $ docker search mysql INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.i ...
- Linux下Nginx基础应用
Nginx简介: Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.其将源代码以类BSD许可证的形式发布,因 ...
- 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 ...