在java企业开发三:struts2+spring3再集成hibernate4基础上使用JPA规范,将Service底层也使用JPA API.
前话:集成JPA(ibernate4实现)使用org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean
此集成是使用struts2.3.16+spring3.2.4+JPA(hibernate4.2.8)
1.再添加hibernate-entitymanager依赖:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>${hibernate.version}</version>
</dependency>
2.添加数据源不变
ManagerFactory:由LocalSessionFactoryBean改成LocalContainerEntityManagerFactoryBean
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan" value="com.test.domain" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="showSql" value="false" />
<property name="generateDdl" value="true" />
</bean>
</property>
</bean>
事务管理由HibernateTransactionManager改为JpaTransactionManager,注册驱动事务管理器不变
<!-- 先注册一个事务管理器,这样才能将事务交给spring来管理,要结合基于注解或XML方式配置,这个事务管理器才有作用 -->
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
3.修改Service层的BaseService,BaseServiceImpl,可能web层也会跟着改动.部署测试,查看是否自动生成表,是否能保存实体
源代码: http://download.csdn.net/detail/xiejx618/6938241