簡體   English   中英

無法使用Hibernate(Eclipse)連接到PostgreSQL

[英]Cant connect to postgreSQL with Hibernate(Eclipse)

我做錯了什么? 運行完主類后,我可以在控制台中進行查看,如下面的當前屏幕截圖所示,控制台繼續工作,什么也沒有發生。

hibernate.cfg.xml中:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
  <session-factory>
    <property name="connection.driver_class">org.postgresql.Driver</property>
    <property name="connection.url">jdbc:postgresql://localhost:5432/Gillie_PL</property>
    <property name="connection.username">postgres</property>
    <property name="connection.password">postgres</property>
    <property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property>
    <property name="show_sql">true</property>
    <property name="hbm2ddl.auto">update</property>
   </session-factory>
</hibernate-configuration>

hibernateUtil.class:

package hibernateConn;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
public class HibernateUtil {
   private static SessionFactory sessionFactory = null;
   static {
     Configuration cfg =
      new Configuration().configure("/hibernateConn/hibernate.cfg.xml");
      StandardServiceRegistryBuilder builder =
      new StandardServiceRegistryBuilder()
      .applySettings(cfg.getProperties());
      sessionFactory = cfg.buildSessionFactory(builder.build());
   }

 public static SessionFactory getSessionFactory(){
   return sessionFactory;
 }

}

Main.Class:

package hibernateConn;
import org.hibernate.SessionFactory;
public class Main {
  public static void main(String[] args) {
    SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
   }
}

運行Main.class之后,我在控制台中有了:

在此處輸入圖片說明

就這樣。 僅此而已,該程序繼續運行,並且沒有任何反應,好像發生了遞歸……也許我沒有正確指定xml中的設置?

我重寫了HibernateUtil.class:

static {
    try{
        sessionFactory = new Configuration().configure("/hibernateConn/hibernate.cfg.xml").buildSessionFactory();
    }catch(Throwable ex){
        System.err.println("++++Initial SessionFactory creation failed.++++: " + ex);
        ex.printStackTrace();
    }
}

public static SessionFactory getSessionFactory(){
    return sessionFactory;
}

而且一切正常。 這個問題可以解決。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM