首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用容器管理的数据源执行Oracle原生查询

使用容器管理的数据源执行Oracle原生查询
EN

Stack Overflow用户
提问于 2015-05-16 00:33:27
回答 1查看 236关注 0票数 1

我在persistence.xml中有一个使用JPA的<non-jta-datasource>连接到容器管理的Oracle数据源的项目,在某些情况下,我必须使用动态构建的原生查询。默认情况下,在Oracle中,我需要在表名中指定schema来进行查询,但是我没有访问模式名的权限(也不应该)。

首先,这是一种预期的行为吗?如果我执行SELECT * FROM TABLE,Hibernate是否应该将其重命名为Datasource参数并执行SELECT * FROM SCHEMA.TABLE

如果不是,有没有一种方法可以直接检索模式名?即使数据源是由WebLogic/JBoss管理的?

EN

回答 1

Stack Overflow用户

发布于 2015-05-16 02:11:48

您可以执行语句alter session set current_schema=SCHEMA;来切换对象可见性。但这是DDL语句,不支持绑定变量占位符。当连接从连接池中退出时,恐怕没有JPA支持回调语句的执行。

通常,当您想要从其他架构访问对象,并且不想使用架构前缀时,可以在您的架构中创建同义词。这是解决这样一个“问题”的常用方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30264524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档