2013-06-20 42 views
0

我使用EclipseLink JPA連接到Vertica數據庫並獲取結果。在運行以下代碼之前 EntityManager em = ... 查詢q = em.createQuery(「SELECT x FROM Table x」); 列表結果= q.getResultList();在eclipselink中執行「SET ROLE」語句JPA

我需要先爲用戶標識運行「SET ROLES ALL」語句。如何在JPA中運行這樣的語句。

請指導我。

回答

0

對Vertica的,你可以做兩件事情:

  1. 爲用戶設置的默認角色:作爲Vertica的連接字符串中描述

    alter user myuser default role myrole; 
    
  2. 使用連接字符串屬性 「ConnSettings」 docs(https://my.vertica.com/docs/6.1.x/HTML/index.htm#13173.htm):

    包含SQL語句的字符串,表示JDBC驅動程序連接到數據庫後自動運行 。此屬性對設置 區域設置,設置模式搜索路徑或執行連接所需的其他配置 很有用。

    連接字符串可能看起來像這樣的事情:

    jdbc:vertica://myverticaserver/mydb?ConnSettings=SET+ROLE+myrole