我正在学习JPA。 我尝试了Spring-JPA-Hibernate组合。 该应用程序工作,我得到了结果。 但是,虽然数据库中只有1条记录,但加载页面大约需要4到5分钟。 不太确定我做错了什么。 我用Google搜索了相同但我得到的只是性能优化建议,但我认为我遗漏了更基本的东西,因为我的表中只有1条记录。
以下是详细信息:
的persistence.xml
<?xml version="1.0" encoding="UTF-8" ?>
<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0" xmlns="http://java.sun.com/xml/ns/persistence">
<persistence-unit name="bike_unit" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:comp/env/jdbc/testdb123</jta-data-source>
<class>bike.Bike</class>
<class>bike.Company</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect"/>
<property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.ClientDriver"/>
<property name="javax.persistence.jdbc.url" value="jdbc:derby://localhost:1527/bike"/>
<property name="javax.persistence.jdbc.user" value="abc"/>
<property name="javax.persistence.jdbc.password" value="abc"/>
</properties>
</persistence-unit>
</persistence>
的web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<servlet>
<servlet-name>bikeDispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>bikeDispatcher</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>/home.html</welcome-file>
</welcome-file-list>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<resource-env-ref>
<resource-env-ref-name>jdbc/testdb123</resource-env-ref-name>
<resource-env-ref-type>javax.sql.DataSource</resource-env-ref-type>
</resource-env-ref>
</web-app>
context.xml中
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="jdbc/testdb123" auth="Container"
type="javax.sql.DataSource"
username="abc" password="abc"
driverClassName="org.apache.derby.jdbc.ClientDriver"
url="jdbc:derby://localhost:1527/bike" />
</Context>
我正在使用Spring 3和Hibernate 3 jar文件。 我尝试用Eclipselink替换Hibernate,应用程序运行完美。只有当我使用带有Hibernate的JPA时才会遇到缓慢的问题。
以下是我与Eclipselink和Hibernate一起使用的罐子:
的EclipseLink:
休眠:
使用Eclipselink,这就是我的persistance.xml的样子:
<?xml version="1.0" encoding="UTF-8" ?>
<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0" xmlns="http://java.sun.com/xml/ns/persistence">
<persistence-unit name="bike_unit" transaction-type="RESOURCE_LOCAL">
<class>bike.Bike</class>
<class>bike.Company</class>
<properties>
<property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.ClientDriver" />
<property name="javax.persistence.jdbc.url" value="jdbc:derby://localhost:1527/bike" />
<property name="javax.persistence.jdbc.user" value="abc" />
<property name="javax.persistence.jdbc.password" value="abc" />
</properties>
</persistence-unit>
</persistence>
不确定我错过了什么。
答案 0 :(得分:0)
我在Windows 7桌面上遇到此性能问题。 但是,在具有相同代码和数据库的Windows 8计算机上尝试时,我没有遇到此问题。
找不到根本原因,但现在解决了我的问题。