如何使用Hibernate/JDBC为DB2设置当前模式?

如何使用Hibernate/JDBC为DB2设置当前模式?,jdbc,schema,db2,Jdbc,Schema,Db2,我曾经使用currentSchema=MYSCHEMA;在我的JDBCURL连接中,但我们使用的DB2版本不再支持该连接,显示错误“目标服务器上不允许使用“currentSchema”属性”。我已经尝试使用hibernate.default_模式,但它不会自动将该模式添加到我的表名中。我不想在每个@Table注释上设置模式,因为我需要在测试和生产之间更改它。是否有其他方法设置连接或通过Hibernate 更新:一定是驱动程序版本问题。我升级到了更高版本的驱动程序,currentSchema工作正

我曾经使用currentSchema=MYSCHEMA;在我的JDBCURL连接中,但我们使用的DB2版本不再支持该连接,显示错误“目标服务器上不允许使用“currentSchema”属性”。我已经尝试使用hibernate.default_模式,但它不会自动将该模式添加到我的表名中。我不想在每个@Table注释上设置模式,因为我需要在测试和生产之间更改它。是否有其他方法设置连接或通过Hibernate


更新:一定是驱动程序版本问题。我升级到了更高版本的驱动程序,currentSchema工作正常。

9.7(最新)db的所有属性都在这里

使用:

当前模式


指定用于在动态准备的SQL语句中限定非限定数据库对象的默认架构名称。此属性的值设置数据库服务器上当前架构特殊寄存器中的值。架构名称区分大小写,必须用大写字符指定。

对于DB2 JDBC类型4驱动程序(com.ibm.DB2.jcc.DB2Driver),我使用此URL连接:

jdbc:db2://<HOST>:<PORT>/<DATABASE>:currentSchema=<SCHEMA>;
jdbc:db2://:currentSchema=;

资料来源:

对,我提到我试过了,但没用。看起来我有一个较旧版本的JDBC驱动程序,并对其进行了更新。谢谢。这个答案让我非常高兴,我可以为那些使用这个解决方案的人哭泣。不要忘记最后的半列,否则你会得到一个错误代码=-4461。这非常重要。我浪费了很多时间来研究这个lol jjst,因为一个愚蠢的错误mistake@goat非常感谢,答案中应该强调这一点。我们如何处理这一点,如果我们在springboot中有多个模式。对于single,我们可以在application.properties中配置它