繁体   English   中英

旧式外连接 (+) 不能与 ANSI 连接一起使用,Oracle 数据库错误代码 ORA-25156

[英]Old style outer join (+) cannot be used with ANSI joins, Oracle Database Error Code ORA-25156

为什么即使我将 hibernate.dialect 指定为 OracleDialect 也会出现此错误。 如果您推荐使用oracle10gDialect 或Oracle9iDialect 请解释一下,因为Hibernate 在第一次连接到数据库时可以使用JDBC 元数据找到Dialect。 如果我错了纠正我。

我相信你的问题是找到正确的方言。 但我相信这是配置的一部分。 这不是编程问题,这是您用来操纵或使用配置的配置策略。

  1. 您可以使用基于环境的多个配置文件来外部化配置,例如 dev、UAT、PROD。 然后您的 CICD 管道将根据部署的环境选择具有正确方言的正确配置文件。
  2. 或者,您可以添加默认方言并根据部署应用程序的环境覆盖属性。

原因是应用程序是查找数据库的组件。

或者如果您想以编程方式执行此操作,请查看这篇文章(我还没有尝试过): 有没有办法在不知道数据库类型的情况下检测 SQL 方言?

另请阅读驱动程序规范和 JPA 方言用法。 一些数据库期望方言的确切版本支持全部功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM