以前はcurrentSchema = MYSCHEMAを使用していました。私のJDBCURL接続では、使用しているDB2のバージョンはそれをサポートしなくなり、「「currentSchema」プロパティはターゲットサーバーで許可されていません」というエラーが表示されます。 hibernate.default_schemaを使用しようとしましたが、テーブル名にスキーマが自動的に追加されません。テストと本番の間でスキーマを変更する必要があるため、すべての@Tableアノテーションにスキーマを設定したくありません。接続またはHibernateを介して設定する別の方法はありますか?
更新:ドライバーバージョンの問題である必要があります。後のドライバーにアップグレードしたところ、currentSchemaが機能しました。
9.7(最新)データベースのすべてのプロパティはここにあります...
使用する:
currentSchema
動的に準備されたSQLステートメントで非修飾データベースオブジェクトを修飾するために使用されるデフォルトのスキーマ名を指定します。このプロパティーの値は、データベース・サーバー上のCURRENTSCHEMA特殊レジスターの値を設定します。スキーマ名では大文字と小文字が区別され、大文字で指定する必要があります。
DB2 JDBCタイプ4ドライバー(com.ibm.db2.jcc.DB2Driver)では、このURLを使用して接続しています:
jdbc:db2://<Host>:<PORT>/<DATABASE>:currentSchema=<SCHEMA>;
uRLに含まれているドライバー 'com.ibm.as400.access.AS400JDBCDriver' ... 'currentSchema'を使用してAS400上のデータベースに接続するためのURLは何ですか、この場合は機能しません...