我将我的应用程序连接到数据库,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;
}
答案 0 :(得分:0)
为了加快一点,一般将hibernate.show_sql和hibernate.format_sql改为false。对于连接,只需输入以下属性:
<property name="hibernate.temp.use_jdbc_metadata_default" value="false"/>
这将使您的会话构建更快。
答案 1 :(得分:0)
您是否配置了外部连接池,或者您使用的是内置连接池?如果你使用内置的,这可以解释为什么它花了4秒钟来获得连接,因为在最坏的情况下必须创建一个新的,这是昂贵的。
也许尝试配置外部连接池,如下所述: https://docs.jboss.org/hibernate/orm/4.2/devguide/en-US/html/ch01.html