`

spring 和jpa的集成方法

阅读更多

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文档

 

0
0
分享到:
评论

相关推荐

    Spring和openJPA集成

    Spring 和 OpenJPA 集成是企业级Java开发中常见的技术组合,主要用于构建数据持久化层。Spring 是一个强大的轻量级应用框架,而 OpenJPA 是一个开源的 Java Persistence API (JPA) 实现,它允许开发者将对象关系映射...

    Spring Data JPA中文文档[1.4.3]_springdatajpa_erlang_waitxpf_

    10. **Elasticsearch 集成**:虽然不是 Spring Data JPA 的核心功能,但 Spring Data 项目包含了对 Elasticsearch 的支持,使得存储和检索大数据变得更加容易。 通过阅读《Spring Data JPA 中文文档[1.4.3]》PDF ...

    Spring Data JPA 笔记

    5. **事务管理**:Spring Data JPA集成Spring的事务管理,可以方便地在方法级别控制事务的开始、提交、回滚,确保数据一致性。 6. ** auditing**:Spring Data JPA还提供了审计功能,通过`@CreationTimestamp`和`@...

    spring mvc spring spring jpa集成

    AOP则允许我们定义横切关注点,如日志、事务管理等,这些关注点可以跨多个类和方法统一处理。 Spring JPA(Java Persistence API)是Spring对Java EE中的JPA规范的封装,用于简化数据库操作。它提供了一种声明式的...

    Spring Data JPA的优点和难点.pdf

    Spring Data JPA的主要优点在于其高度的开发效率、成熟的语法结构以及与Spring框架的紧密集成。 1. **开发效率极高**: - Spring Data JPA通过提供自动化的 Repository 实现,减少了大量手动编写SQL和DAO层代码的...

    jsf+springdatajpa

    通过Spring Data JPA,我们可以使用简单的查询方法定义,自动化的CRUD操作,以及Repository接口,大大减少了手动编写SQL和DAO层代码的工作量。 **3. MySQL** MySQL 是一款广泛使用的开源关系型数据库管理系统。在...

    Spring Data JPA从入门到精通

    Spring Data JPA的另一个强大特性是其与Spring Data Repositories的集成,它允许我们自定义复杂的查询,甚至支持分页和排序。通过定义接口方法,Spring Data会自动为我们生成对应的查询方法。 最后,Spring Data ...

    Spring集成JPA和MyBatis简单例子-20170622

    在IT行业中,Spring框架...在"Spring集成JPA和MyBatis简单例子-20170622"这个压缩包中,可能包含了示例代码,演示了如何在Spring项目中配置和使用这两种技术,这对于初学者理解和实践Spring的集成能力具有很大的帮助。

    Spring Data JPA Demo

    Spring Data JPA 集成了Spring 的事务管理,可以很方便地配置全局或方法级别的事务。`@Transactional` 注解用于标记需要进行事务处理的方法。 9. **测试** 使用Spring Boot 的测试框架,可以编写单元测试和集成...

    手动创建 SpringMvc +SpringDataJpa+Hibernate+ freemarker mavenProject+ 环境切换 webDemo

    只需提供一个继承自JpaRepository的接口,即可自动实现基本的查询方法。此外,Spring Data JPA还支持自定义查询,允许开发者使用@Query注解编写JPQL语句。 Hibernate作为JPA的实现,是一个强大的对象关系映射(ORM...

    Spring Data JPA.zip

    在项目中引入 Spring Data JPA 和相应的 JPA 实现(如 Hibernate),配置实体扫描路径、数据源、JPA 配置、Repository 扫描等。 **4. 实体类与表的映射** 使用 `@Entity` 注解标记实体类,`@Table` 定义对应的...

    Spring Data JPA中文文档[1.4.3].zip

    1. **简介**:了解Spring Data JPA的目标,它是如何简化JPA的使用,以及它如何与其他Spring模块集成。 2. **快速入门**:包括设置项目依赖,配置数据源和JPA供应商(如Hibernate),以及创建第一个Repository接口。...

    其实spring data jpa比mybatis更好用.zip_JPA mybatis

    1. **易用性**:Spring Data JPA通过方法签名的查询方式降低了学习曲线,而MyBatis需要编写SQL和映射文件。 2. **灵活性**:MyBatis在SQL定制方面更自由,适合处理复杂查询;Spring Data JPA则更适合简单的CRUD操作...

    Spring MVC 集成JPA

    #### 四、Spring MVC中的JPA集成步骤 1. **添加依赖**:在Maven或Gradle项目中添加Spring MVC、Spring Data JPA以及相应的数据库驱动的依赖。 2. **配置数据源**:在Spring配置文件中定义数据源,例如使用`...

    spring boot 集成JPA

    Spring Boot 集成 JPASpring Boot 集成 JPASpring Boot 集成 JPASpring Boot 集成 JPASpring Boot 集成 JPASpring Boot 集成 JPA

    spring mvc + jpa 集成实例(有带包)

    **Spring MVC + JPA 集成实例** ...这个集成实例提供了完整的代码结构和依赖,可以直接运行,对于理解Spring MVC和JPA的集成使用具有很高的参考价值。开发者可以在此基础上扩展自己的业务逻辑,实现复杂的企业级应用。

    spring data jpa + spring + json demo

    总之,这个项目提供了一个完整的Spring MVC应用示例,其中整合了Spring Data JPA进行数据库操作,并使用JSON进行数据交换,对于学习Spring框架和JPA的初学者来说,是一个很好的实践平台。通过深入研究和运行这个项目...

    springdatajpa.pdf

    开发者需要做的,只是定义好接口,然后使用SpringDataJPA提供的各种注解和方法名规则来完成对数据的CRUD(创建Create、读取Retrieve、更新***e、删除Delete)操作。 在接口中定义的方法名,SpringDataJPA会根据命名...

    spring学习:spring data jpa

    6. **Integration with Spring Transaction Management**:Spring Data JPA与Spring的事务管理无缝集成,可以方便地进行事务控制。 在实际使用中,我们需要配置Spring Data JPA,这通常涉及到以下步骤: 1. 添加...

Global site tag (gtag.js) - Google Analytics