applicationContext.xml
<!-- c3p0连接池 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="oracle.jdbc.driver.OracleDriver" />
<property name="jdbcUrl" value="jdbc:oracle:thin:@localhost:1521:xe" />
<property name="user" value="root" />
<property name="password" value="root" />
</bean>
<!-- jpa的管理工厂 -->
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<!-- 数据源 -->
<property name="dataSource" ref="dataSource" />
<!-- 持久层的扫描路径 -->
<property name="packagesToScan" value="cn.test.domain" />
<!-- jpa的规范使用hibernate的规范 -->
<property name="persistenceProvider">
<bean class="org.hibernate.ejb.HibernatePersistence" />
</property>
<!-- 数据库的信息 -->
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<!-- 没有数据表时,将会把实体类映射,创建数据表 -->
<property name="generateDdl" value="true" />
<!-- oracle数据库 -->
<property name="database" value="ORACLE" />
<!-- 数据库平台 -->
<property name="databasePlatform" value="org.hibernate.dialect.Oracle10gDialect" />
<!-- 显示sql -->
<property name="showSql" value="true" />
</bean>
</property>
<!-- jpa方言 -->
<property name="jpaDialect">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaDialect" />
</property>
</bean>
<!-- 注解开发的事务管理器 -->
<tx:annotation-driven transaction-manager="transactionManager" />
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<!-- 整合spring data jpa -->
<jpa:repositories base-package="cn.sinocom.bos.dao" />
需要导入jpa的数据库持久层
<!-- spring data jpa 数据库持久层 -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>${springdatajpa.version}</version>
</dependency>
dao层
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import cn.test.domain.User;
public interface UserDao extends JpaRepository<User, Integer> {
}