Hibernate 花费大量时间连接数据库
Hibernate spends a lot of time for connection to the database
我将我的应用程序连接到数据库,而 Hibernate 花费大量时间连接到数据库。
如何为远程数据库连接配置 persistence
。
这是我的 persistence.xml
<properties>
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/temp"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.connection.username" value="user"/>
<property name="hibernate.connection.password" value="user03022016"/>
<property name="hibernate.archive.autodetection" value="class"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hbm2ddl.auto" value="update"/>
</properties>
这是我的函数,它调用连接并发送查询
public List<Posts> connect() throws UnsupportedEncodingException {
EntityManager em=EntityManagerUtil.getEntityManagerFactory().createEntityManager();
Query q=em.createQuery("Select p from Posts p");
result=q.getResultList();
return result;
}
为了加快速度,通常将 hibernate.show_sql 和 hibernate.format_sql 更改为 false。对于连接,只需将此 属性:
<property name="hibernate.temp.use_jdbc_metadata_default" value="false"/>
这将使您的会话构建速度更快。
您配置了外部连接池还是使用内置连接池?如果您使用的是内置连接,这可以解释为什么它需要 4 秒才能获得连接,因为在最坏的情况下必须创建一个新连接,这很昂贵。
也许尝试按照此处所述配置外部连接池:
https://docs.jboss.org/hibernate/orm/4.2/devguide/en-US/html/ch01.html
我将我的应用程序连接到数据库,而 Hibernate 花费大量时间连接到数据库。
如何为远程数据库连接配置 persistence
。
这是我的 persistence.xml
<properties>
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/temp"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.connection.username" value="user"/>
<property name="hibernate.connection.password" value="user03022016"/>
<property name="hibernate.archive.autodetection" value="class"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hbm2ddl.auto" value="update"/>
</properties>
这是我的函数,它调用连接并发送查询
public List<Posts> connect() throws UnsupportedEncodingException {
EntityManager em=EntityManagerUtil.getEntityManagerFactory().createEntityManager();
Query q=em.createQuery("Select p from Posts p");
result=q.getResultList();
return result;
}
为了加快速度,通常将 hibernate.show_sql 和 hibernate.format_sql 更改为 false。对于连接,只需将此 属性:
<property name="hibernate.temp.use_jdbc_metadata_default" value="false"/>
这将使您的会话构建速度更快。
您配置了外部连接池还是使用内置连接池?如果您使用的是内置连接,这可以解释为什么它需要 4 秒才能获得连接,因为在最坏的情况下必须创建一个新连接,这很昂贵。
也许尝试按照此处所述配置外部连接池: https://docs.jboss.org/hibernate/orm/4.2/devguide/en-US/html/ch01.html