hibernate+spring+struts搭建详解
环境介绍
都为myeclipse8.0自带jar包。如下。
hibernate:3.2
spring:2.5
struts:2.1
1.新建项目。
建立javaweb项目。
2.添加hibernate支持
后面的步骤不做解析了。写得麻烦。依次添加hibernate和spring支持。直接贴出最终结果。
整理过程中遇到的问题.
1、整合完ssh后启动项目报beanFactory错误,在单独集成spring时是不报错的。原因spring的AOP中有一个asm.jar和hibernate重复了。
2、报如下错误Line: 64 - org/apache/struts2/convention/SEOActionNameBuilder.java:64:-1。原因项目中命名了一个名字为Action的action类。
此为ssh整合的最简版,源码见本人分享的资源,http://download.csdn.net/detail/zhq502502/4593140。之后会加入:
spring事物控制。
hibernate+ehcache缓存。
spring 的security安全机制。
axis2,webservice。
自定义标签。
分页组建。
2级缓存配置
hibernate.cfg.xml文件中配置
<property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
<property name="hibernate.cache.use_query_cache">true</property>
<property name="hibernate.cche.use_second_leval_cache">true</property>
Entity对象中配置
@Entity
@Table(name="user")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE,region="jleeCache")
supperDao中配置
@Autowired
public void init(SessionFactory sessionFactory){
super.setSessionFactory(sessionFactory);
HibernateTemplate tem = this.getHibernateTemplate();
tem.setCacheQueries(true);
super.setHibernateTemplate(tem);
}
之后的所有查询中就能看到二级缓存的效果了。
如果个别的不需要缓存的,可以设置HibernateTemplate的cacheQueries属性为false再查询。