一尘不染

从会话工厂以编程方式获取休眠的默认架构名称?

hibernate

我想知道是否可以通过某种方式从会话工厂获取默认架构名称?我需要得到它的原因是因为我必须使用一个本机SQL,并且我有多个会话工厂用于多个模式和一个数据源。所有生成的hibernate查询都由具有选择访问其他模式权限的单个用户运行。


阅读 167

收藏
2020-06-20

共1个答案

一尘不染

我刚刚发现,hibernate具有{h-schema}替换项,可以在本机sql查询中使用。因此,当您连接到oracle数据库中的一个架构并希望针对不同的架构执行查询时,此工作就可以轻松完成。例如:

select * from {h-schema}table_name

replaceAll鉴于每个会话工厂都配置了"hibernate.default_schema"属性,因此Hibernate
无需处理查询手册,而是会处理所有事情。

2020-06-20