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