在eclipselink JPA中执行“SET ROLE”语句

时间:2013-06-20 17:08:26

标签: java jpa eclipselink database vertica

我正在使用EclipseLink JPA连接到vertica数据库并获取结果。在运行下面的代码之前     EntityManager em = ...     查询q = em.createQuery(“SELECT x FROM Table x”);     列表结果= q.getResultList();

我需要先为用户ID运行“SET ROLES ALL”语句。如何在JPA中运行此类语句。

请指导我。

1 个答案:

答案 0 :(得分:0)

对于Vertica,你可以做两件事:

  1. 为用户设置默认角色:

    alter user myuser default role myrole;
    
  2. 使用连接字符串属性“ConnSettings”,如Vertica连接字符串docs(https://my.vertica.com/docs/6.1.x/HTML/index.htm#13173.htm)中所述:

      

    包含JDBC驱动程序自动的SQL语句的字符串   连接到数据库后运行。此属性对于设置很有用   区域设置,设置架构搜索路径或执行其他配置   连接需要。

    您的连接字符串可能如下所示:

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