为什么很多公司还是沿用旧版本呢,原因就是成本问题,更新之后不会有太多的好处,相反,万一不稳定的话会带来一系列问题,除非是刚做的产品,没有沿用之前的框架。
很多教程都是hibernate3,spring2的,官网跟新快,反正旧的的东西一般都会兼容,为啥不给自己一个挑战的机会,用用新的包和新的知识,这样你比别人已经优秀很多了。
下午研究Spring整合Hibernate,由于官方的包更新版本很快,所以在配置方面搞了挺久。
有人要整合的jar包,感觉自己去官网下载各自的包,自己阅读文档或者查资料就可以了,自己动手引入相关的包,不过有人想要了,那就直接给Spring3.2.3 Hibernate4.2.1整合jar包。下载地址:
http://download.csdn.net/detail/iaiti/5696281
Spring3后不再提供其他的包,而学习Spring2的时候,里面有很多包可供选择,
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="annotatedClasses"> <list> <value>com.my.model.User</value> </list> </property> <property name="hibernateProperties"> <value> hibernate.dialect=org.hibernate.dialect.MySQL5Dialect hibernate.show_sql=true </value> </property> </bean>
需要引入org.springframework.orm包,本来用习惯直接用AnnotationSessionFactoryBean,但是hibernate4里面并没有这个类,hibernate3.annotation.AnnotationSessionFactoryBean3就有,所以还是直接用上面的LocalSessionFactoryBean,但是查看源代码会发现,都有annotatedClasses的数组用来传入类。
为什么4里面没有AnnotationSessionFactoryBean?
还是看源码:
FactoryBean
that creates a HibernateSessionFactory
. This is the usual way to set up a shared Hibernate SessionFactory in a Spring application context; the SessionFactory can then be passed to Hibernate-based data access objects via dependency injection.
所以没有就是没有,直接用LocalSessionFactoryBean
虽然你用教程讲的配置起来很爽,全部都是别人写好的东西,但是,当你自己在摸索的时候,可以学到更多的东西。所以,旧的东西是经典的,同时,也要学着自己用新的东西。