0 0

SpringJpa查询超慢0

List<Product> findByState(String state);
所有的jpa查询方法都慢在2S以上,根据生成的SQL,在oracle下执行只需要0.1秒,就不明白了,是什么原因?请教下高手哈。
	<!-- 数据源配置,使用应用中的DBCP数据库连接池 -->
	<bean id="dataSource"  class="org.apache.tomcat.jdbc.pool.DataSource" destroy-method="close">
		<!-- Connection Info -->
			<property name="driverClassName" value="${jdbc.driver}" />
			<property name="url" value="${jdbc.url}" />
			<property name="username" value="${jdbc.username}" />
			<property name="password" value="${jdbc.password}" />
			<!-- Connection Pooling Info -->
			<property name="maxActive" value="${jdbc.pool.maxActive}" />
			<property name="maxIdle" value="${jdbc.pool.maxIdle}" />
			<property name="defaultAutoCommit" value="false" />
			<!-- 连接Idle一个小时后超时 -->
			<property name="timeBetweenEvictionRunsMillis" value="3600000" />
			<property name="minEvictableIdleTimeMillis" value="3600000" />
	</bean>

<!-- Spring Data Jpa配置, 扫描base-package下所有继承于Repository<T,ID>的接口 -->
 	<jpa:repositories base-package="com.*.dao" transaction-manager-ref="transactionManager" entity-manager-factory-ref="entityManagerFactory"/>

<!-- Jpa 事务配置 -->
	<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
		<property name="entityManagerFactory" ref="entityManagerFactory"/>
	</bean>

	<!-- 数据源配置,在生产环境使用应用服务器的数据库连接池 -->
	<!-- Jpa Entity Manager 配置 -->
	<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
		<property name="dataSource" ref="dataSource"/>
		<property name="jpaVendorAdapter" ref="hibernateJpaVendorAdapter"/>
		<property name="packagesToScan" value="com.*.entity.*"/>
		<property name="jpaProperties">
			<props>
				<!-- 
				<prop key="hibernate.cache.region.factory_class">org.hibernate.cache.SingletonEhCacheRegionFactory</prop>
				<prop key="net.sf.ehcache.configurationResourceName">cache/ehcache-hibernate-local.xml</prop>
				-->
				<prop key="hibernate.ejb.naming_strategy">org.hibernate.cfg.ImprovedNamingStrategy</prop>
			</props>
		</property>
	</bean>
	<bean id="hibernateJpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
		<property name="databasePlatform">
			<bean factory-method="getDialect" class="org.springside.modules.persistence.Hibernates">
				<constructor-arg ref="dataSource"/>
			</bean>
		</property>
	</bean>
2014年8月08日 18:08

1个答案 按时间排序 按投票排序

0 0

不知道博主这么久了,这个问题解决了没,我也出现了这种问题,不过我是在远程连接上连接数据库,不知道为什么性能那么差,感觉也不会慢成这样啊 sql千万级别应该能应付啊

2017年5月25日 16:08

相关推荐

    spring jpa

    - **简化编程模型**:通过Repository接口,开发者只需要编写查询方法的签名,Spring JPA会自动生成对应的SQL语句。 - **事务管理**:Spring JPA与Spring的事务管理集成,提供了声明式事务处理,使得事务管理更加...

    maven+springmvc+springjpa+hibernate

    在IT行业中,构建高效、可维护的Web应用是至关重要的,而"Maven+SpringMVC+SpringJPA+Hibernate"的组合就是一个常见的解决方案。这个组合提供了全面的开发工具和技术,帮助开发者快速构建基于Java的Web应用程序。...

    Spring JPA 配置类包集合 方便大家使用

    7. **Specifications**:对于复杂的查询,Spring Data JPA提供了Specifications接口,允许动态构建查询条件。这在处理复杂的查询逻辑时非常有用。 8. **Pagination and Sorting**:Spring Data JPA支持分页和排序...

    Spring Data JPA API(Spring Data JPA 开发文档).CHM

    Spring Data JPA API。 Spring Data JPA 开发文档。 官网 Spring Data JPA API。

    Spring Data JPA中文文档[1.4.3]_springdatajpa_erlang_waitxpf_

    9. **JPA Querydsl Support**:Spring Data JPA 还支持 Querydsl,这是一个强大的类型安全的查询语言,它可以进一步提高查询的可读性和可维护性。 10. **Elasticsearch 集成**:虽然不是 Spring Data JPA 的核心...

    Spring JPA Example

    此外,Spring JPA还支持更复杂的查询,如使用`@Query`注解编写自定义SQL或HQL,以及使用`Specification`构建动态查询。 在实际开发中,我们还可以结合Spring Boot的自动化配置、事务管理、异常处理等功能,进一步...

    Struts2 Spring Jpa 配置测试

    Struts2、Spring和JPA是Java开发中常用的三大框架,它们在企业级应用开发中发挥着关键作用。Struts2作为MVC框架,负责控制应用程序的流程;Spring框架则是一个全面的后端解决方案,提供了依赖注入(DI)、面向切面...

    Spring Data JPA 笔记

    例如,Spring Data JPA支持自动化的查询生成,只需定义Repository接口,无需编写任何实现代码,就可以执行CRUD(创建、读取、更新、删除)操作。此外,它还支持复杂的查询方法命名,如findByXXX,根据方法名自动构建...

    springjpa 和 spring多视图配置实例

    4. Repository接口将继承自Spring Data JPA提供的基类,如`JpaRepository`,并可能包含自定义查询方法。 5. Service层将调用Repository接口,处理业务逻辑。 6. Controller层将处理HTTP请求,调用Service层并返回...

    spring mvc spring spring jpa集成

    Spring Data JPA进一步扩展了Spring JPA,提供了更高级别的抽象,如自动化的查询生成和Repository接口。 对于集成MySQL,首先你需要在项目中添加MySQL的JDBC驱动依赖。然后,配置Spring的DataSource,包括数据库URL...

    spring jpa操作数据库 级联数据 hibernate

    在IT行业中,数据库操作是应用程序的核心部分,Spring JPA(Java Persistence API)是Spring框架提供的一种简化ORM(对象关系映射)操作的方式。本主题主要围绕"spring jpa操作数据库 级联数据 hibernate"展开,探讨...

    Spring JPA 项目简单实现

    Spring JPA,全称Spring Data JPA,是Spring框架的一部分,用于简化Java持久层的开发。它提供了一种声明式的方式来操作数据库,...通过实践,你可以进一步掌握Spring框架和JPA的高级特性,如查询构造器、事务管理等。

    SPRING JPA

    Spring Data JPA是Spring对JPA的扩展,提供了更高级的功能,如自动化的Repository接口实现和动态查询生成。 6. **日志库和Spring JPA的配合** 文件名中的`log4j-1.2.14.jar`和`commons-logging.jar`是常见的日志...

    spring注解+spring data jpa文档+JPA文档.rar

    Spring Data JPA提供了强大的Repository抽象,允许开发者以声明式的方式定义数据操作,如查询方法。只需要在接口上定义方法名,Spring Data JPA就能自动生成对应的SQL语句。例如,`findAll()`会执行SELECT ALL查询,...

    SpringMVC+Spring+SpringDataJPA+Hibernate整合登录的效果

    这是整合SpringMVC+Spring+SpringDataJPA+Hibernate简单的实现登录的功能,用的是mysql数据库,这是一个web Project 如果你用的是JavaEE6那么你要注意bean-validator.jar和weld-osgi-bundle.jar与slf4j的jar包冲突。...

    springdatajpa 包括jar包

    这里的JpaRepository接口已经包含了基本的CRUD方法,而`findByUsername`是我们自定义的查询方法,Spring Data JPA会自动根据方法名生成对应的SQL查询。 在Struts2 Action中,我们可以这样使用UserRepository: ```...

    springBoot+springjpa.docx

    ### Spring Boot + Spring JPA 入门教程 #### 一、Spring Boot 快速入门 Spring Boot 是一种简化 Spring 应用程序开发的新框架。它旨在简化基于 Spring 的应用程序的初始设置和配置过程。 ##### 1. 创建 Maven ...

    spring data jpa 的Specifications动态查询

    在处理复杂的查询需求时,Spring Data JPA的`Specifications`接口提供了动态构建查询的能力,允许我们在运行时根据业务逻辑创建复杂的查询条件。 ### 单条件查询 在Spring Data JPA中,我们可以使用`...

Global site tag (gtag.js) - Google Analytics