我正在使用 EclipseLink JPA 连接到 vertica 数据库并获取结果。在运行以下代码之前 EntityManager em = ... Query q = em.createQuery ("SELECT x FROM Table x"); 列表结果 = q.getResultList();
我需要首先为用户 ID 运行“SET ROLES ALL”语句。如何在 JPA 中运行此类语句。
请指导我。
我正在使用 EclipseLink JPA 连接到 vertica 数据库并获取结果。在运行以下代码之前 EntityManager em = ... Query q = em.createQuery ("SELECT x FROM Table x"); 列表结果 = q.getResultList();
我需要首先为用户 ID 运行“SET ROLES ALL”语句。如何在 JPA 中运行此类语句。
请指导我。
对于 Vertica,您可以做两件事:
为用户设置默认角色:
alter user myuser default role myrole;
使用 Vertica 连接字符串文档 ( https://my.vertica.com/docs/6.1.x/HTML/index.htm#13173.htm ) 中所述的连接字符串属性“ConnSettings”:
一个字符串,包含 JDBC 驱动程序在连接到数据库后自动运行的 SQL 语句。此属性可用于设置语言环境、设置模式搜索路径或执行连接所需的其他配置。
您的连接字符串可能如下所示:
jdbc:vertica://myverticaserver/mydb?ConnSettings=SET+ROLE+myrole