2015-05-18 76 views
2

我與Hibernate和Oracle等價從雙在PostgreSQL

工作的我用這個代碼:

if (null != sessionFactory) { 
      Session s = currentSession.get(); 

      if ((null == s) || !s.isOpen()) { 
       s = sessionFactory.openSession(); 
       currentSession.set(s); 
      } else { 
       try { 
        HibernateWork hibernateWork = new HibernateWork("SELECT 1 FROM DUAL"); 
        s.doWork(hibernateWork); 
       } catch (Exception e) { 

        s = sessionFactory.openSession(); 
        currentSession.set(s); 
       } 
      } 

      return s; 
     } 

我想要做同樣的事情在PostgreSQL

但PostgreSQL不支持'FROM dual'語法

我想知道在PostgreSQL中雙重的等價性

回答

5

根本不需要FROM條款。只需SELECT 1就可以做到。

3

只需使用select 1。從documentation

Oracle使用「假」雙重表許多選擇,在PostgreSQL中,我們可以寫在所有從部分選擇只是沒有。這張表是在postgres中創建的,以緩解移植問題。這允許代碼保持與Oracle SQL的兼容性,而不會讓Postgres解析器惱人。

0

只需創建一個,如果你真的想:

CREATE TABLE dual();