【问题标题】:Synonyms views and tables in oracleoracle 中的同义词视图和表
【发布时间】:2019-09-26 08:58:03
【问题描述】:

使用jpql,我用过:

  • createQuery 带有表格
  • createNativeQuery查看次数

你能告诉我我必须使用同义词createQuerycreateNativeQuery 吗? 运行我的 spring-mvc 项目时,我发现存储在同义词(oracle)中的数据存在问题..

非常感谢。

【问题讨论】:

  • 链接到您之前的相关问题stackoverflow.com/questions/58076369/…
  • 抱歉@Kayaman 先生,但我无法成功解决我的问题。我需要在运行项目后在不删除其数据的情况下对同义词进行更改。事实上,<property name="hibernate.hbm2ddl.auto" value="update"/> 的属性必须仍在文件中 persistence.xml
  • 没有关于用于表的 JPQL 查询和用于视图的本机查询的规则。您也可以将视图映射到实体,尽管它是只读的。
  • 至于你的根本问题。您的 update 将删除这些同义词,因此要么删除同义词,要么删除 update。或者升级你的库版本,但我似乎记得你也不能这样做。
  • 非常感谢@Kayaman 先生的善意。因此,正如您所证明的,尽管升级到休眠 5.4,但我的问题无法解决。在这种情况下,使用 table 是解决方案。再次感谢先生。

标签: java oracle synonym


【解决方案1】:

最初对 Oracle 和其他 RDBMses 同义词的支持是在我无法准确确定的时候引入的。我想即使是 Hibernate 3 也通过 hibernate.synonyms=true 属性为它们提供了一些支持。

仍然存在一些与同义词相关的错误,例如 hibernate.hbm2ddl.auto=validate4.2.1 之前无法正常工作并使用 hibernate.connection.includeSynonyms=true 修复。

由于validateupdate 的行为是相关的(他们都需要理解同义词),我假设您需要升级以解决您的问题的最低版本将是@987654328 @。

【讨论】:

  • 非常感谢@Kayaman 先生的帮助。这也将是线程的详细答案(stackoverflow.com/questions/58076369/…)。
  • @Linda 我将在此处将其链接为副本。
  • 好的,@Kayaman 先生,我将删除第一个以尊重堆栈溢出社区条款。非常感谢先生的好意。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-17
  • 1970-01-01
  • 1970-01-01
  • 2014-11-30
  • 2019-02-03
相关资源
最近更新 更多