码迷,mamicode.com
首页 > 编程语言 > 详细

spring4整合hibernate5以及出现的问题解决办法

时间:2016-07-01 23:01:05      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:

 每一次的学习,都是一小步一小步的进行的,学习语言,重要的是能把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以及出现的问题解决办法

标签:

原文地址:http://www.cnblogs.com/withscorpion/p/5634399.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!