spring和jpa的集成由于自己需要用,就记一下
在Spring环境中建立JPA有3中方式
方法一 : 通过LocalEntityManagerFactoryBean,这也是我最早接触的方法:
配置如下:
<bean name="myEntityManagerFactory" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
<property name="persistenceUnitName" value="shop"></property>
</bean>
优缺点:(据sprig文档说明)这种JPA部署方式最为简单,但却最受限制。例如,不能连接到现有的JDBCDataSource, 并且不支持全局事务
方法二 : 通过LocalContainerEntityManagerFactoryBean,这是我接触过的第二种方法
配置如下:
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="someDataSource"/>
<property name="loadTimeWeaver">
<bean class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver"/>
</property>
</bean>
<context:property-placeholder location="classpath:jdbc.properties"/>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="${driverClass}"/>
<property name="jdbcUrl" value="${jdbcUrl}"/>
<property name="user" value="${user}"/>
<property name="password" value="${password}"/>
<!-- 初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default: 3 -->
<property name="initialPoolSize" value="1"/>
<!-- 连接池中保留的最小连接数。 -->
<property name="minPoolSize" value="1"/>
<!-- 连接池中保留的最大连接数。Default: 15 -->
<property name="maxPoolSize" value="300"/>
<!-- 最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->
<property name="maxIdleTime" value="60"/>
<!-- 当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->
<property name="acquireIncrement" value="5"/>
<!-- 每60秒检查所有连接池中的空闲连接。Default: 0 -->
<property name="idleConnectionTestPeriod" value="60"/>
</bean>
这3处度需要配置的,不可以缺少,当然还需要在jdbc.properties文件里面配置相关属性(红色部分)
优缺点: 最为强大的JPA配置方式,允许在应用程序中灵活进行本地配置。它支持连接现有JDBC DataSource ,支持本地事务和全局事务等等
第3法方法:我面前还没有实际运用
是从JNDI中获取 EntityManagerFactory
<beans>
<jee:jndi-lookup id="entityManagerFactory" jndi-name="persistence/myPersistenceUnit"/>
</beans>
具体情况看spring文档
分享到:
相关推荐
Spring 和 OpenJPA 集成是企业级Java开发中常见的技术组合,主要用于构建数据持久化层。Spring 是一个强大的轻量级应用框架,而 OpenJPA 是一个开源的 Java Persistence API (JPA) 实现,它允许开发者将对象关系映射...
10. **Elasticsearch 集成**:虽然不是 Spring Data JPA 的核心功能,但 Spring Data 项目包含了对 Elasticsearch 的支持,使得存储和检索大数据变得更加容易。 通过阅读《Spring Data JPA 中文文档[1.4.3]》PDF ...
5. **事务管理**:Spring Data JPA集成Spring的事务管理,可以方便地在方法级别控制事务的开始、提交、回滚,确保数据一致性。 6. ** auditing**:Spring Data JPA还提供了审计功能,通过`@CreationTimestamp`和`@...
AOP则允许我们定义横切关注点,如日志、事务管理等,这些关注点可以跨多个类和方法统一处理。 Spring JPA(Java Persistence API)是Spring对Java EE中的JPA规范的封装,用于简化数据库操作。它提供了一种声明式的...
Spring Data JPA的主要优点在于其高度的开发效率、成熟的语法结构以及与Spring框架的紧密集成。 1. **开发效率极高**: - Spring Data JPA通过提供自动化的 Repository 实现,减少了大量手动编写SQL和DAO层代码的...
通过Spring Data JPA,我们可以使用简单的查询方法定义,自动化的CRUD操作,以及Repository接口,大大减少了手动编写SQL和DAO层代码的工作量。 **3. MySQL** MySQL 是一款广泛使用的开源关系型数据库管理系统。在...
Spring Data JPA的另一个强大特性是其与Spring Data Repositories的集成,它允许我们自定义复杂的查询,甚至支持分页和排序。通过定义接口方法,Spring Data会自动为我们生成对应的查询方法。 最后,Spring Data ...
在IT行业中,Spring框架...在"Spring集成JPA和MyBatis简单例子-20170622"这个压缩包中,可能包含了示例代码,演示了如何在Spring项目中配置和使用这两种技术,这对于初学者理解和实践Spring的集成能力具有很大的帮助。
Spring Data JPA 集成了Spring 的事务管理,可以很方便地配置全局或方法级别的事务。`@Transactional` 注解用于标记需要进行事务处理的方法。 9. **测试** 使用Spring Boot 的测试框架,可以编写单元测试和集成...
只需提供一个继承自JpaRepository的接口,即可自动实现基本的查询方法。此外,Spring Data JPA还支持自定义查询,允许开发者使用@Query注解编写JPQL语句。 Hibernate作为JPA的实现,是一个强大的对象关系映射(ORM...
这是整合SpringMVC+Spring+SpringDataJPA+Hibernate简单的实现登录的功能,用的是mysql数据库,这是一个web Project 如果你用的是JavaEE6那么你要注意bean-validator.jar和weld-osgi-bundle.jar与slf4j的jar包冲突。...
在项目中引入 Spring Data JPA 和相应的 JPA 实现(如 Hibernate),配置实体扫描路径、数据源、JPA 配置、Repository 扫描等。 **4. 实体类与表的映射** 使用 `@Entity` 注解标记实体类,`@Table` 定义对应的...
1. **简介**:了解Spring Data JPA的目标,它是如何简化JPA的使用,以及它如何与其他Spring模块集成。 2. **快速入门**:包括设置项目依赖,配置数据源和JPA供应商(如Hibernate),以及创建第一个Repository接口。...
1. **易用性**:Spring Data JPA通过方法签名的查询方式降低了学习曲线,而MyBatis需要编写SQL和映射文件。 2. **灵活性**:MyBatis在SQL定制方面更自由,适合处理复杂查询;Spring Data JPA则更适合简单的CRUD操作...
#### 四、Spring MVC中的JPA集成步骤 1. **添加依赖**:在Maven或Gradle项目中添加Spring MVC、Spring Data JPA以及相应的数据库驱动的依赖。 2. **配置数据源**:在Spring配置文件中定义数据源,例如使用`...
Spring Boot 集成 JPASpring Boot 集成 JPASpring Boot 集成 JPASpring Boot 集成 JPASpring Boot 集成 JPASpring Boot 集成 JPA
**Spring MVC + JPA 集成实例** ...这个集成实例提供了完整的代码结构和依赖,可以直接运行,对于理解Spring MVC和JPA的集成使用具有很高的参考价值。开发者可以在此基础上扩展自己的业务逻辑,实现复杂的企业级应用。
总之,这个项目提供了一个完整的Spring MVC应用示例,其中整合了Spring Data JPA进行数据库操作,并使用JSON进行数据交换,对于学习Spring框架和JPA的初学者来说,是一个很好的实践平台。通过深入研究和运行这个项目...
开发者需要做的,只是定义好接口,然后使用SpringDataJPA提供的各种注解和方法名规则来完成对数据的CRUD(创建Create、读取Retrieve、更新***e、删除Delete)操作。 在接口中定义的方法名,SpringDataJPA会根据命名...