Spring和Hibernate的注解整合 hibernate3和hibernate4/5的区别
现在,ssh框架中注解的使用已经非常普遍了,在此我介绍一下spring整合hibernate注解时的配置:
hibernate和spring的注解方式请网上搜索。
当你分别把spring和hibernate注解配好之后。打开spring的基础配置文件中的
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
的配置。
一、当你hibernate使用的是配置文件的时候,只需要在bean'重配置如下属性即可:(这种配置hibernate3/4/5是没有区别的)
二、当你hibernate使用的是注解的时候且hibernate3时候
将sessionFactory 的class改为 org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean
且将 mappingDirectoryLocations属性改为如下
三、当你hibernate使用的是注解的时候且hibernate4/5时候
只需要将mappingDirectoryLocations属性改为如下即可
2018-07-30 · 做真实的自己 用良心做教育
1.数据库方言设置
<property name=”dialect”>org.hibernate.dialect.MySQL5Dialect</property>
在3.3版本中连接MySQL数据库只需要指明MySQLDialect即可。在4.1版本中可以指出MySQL5Dialect
2.buildSessionFactory
4.1版本中buildSessionFactory()已经被buildSessionFactory(ServiceRegistry ServiceRegistry)取代
解决办法:
Configuration cfg = new Configuration();
ServiceRegistry serviceRegistry =new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry();
SessionFactory sf= cfg.configure().buildSessionFactory(serviceRegistry);
3.annotation
org.hibernate.cfg.AnnotationConfiguration;
Deprecated. All functionality has been moved to Configuration
这个注解读取配置的class已经废弃,现在读取配置不需要特别注明是注解,直接用Configuration cfg = new Configuration();就可以读取注解。
Hibernate4.1版本中推荐使用annotation配置,所以在引进jar包时把requested里面的包全部引进来就已经包含了annotation必须包了
4.Hibernate4.1已经可以自动建表,所以开发时只需要自己开发类然后配置好就OK。不需要考虑怎么建表