2

SpringDataSourceと QueryDslを使用してSQLQueryImpl、どのようにスキーマを指定または設定しますか?

テストケースは次のとおりです。

  1. querydsl-maven-plugin (2.9.0) を使用して DB2 データベースに接続し、Q-Classes を指定して生成します<schemaPattern>
  2. 春はDataSource豆を作る
  3. DataSourceBean はスクリプト (CREATE SCHEMA FOOなどCREATE TABLE FOO.BAR)によって設定されます
  4. JUnit テストのインポートDataSource
  5. クエリを使用してnew SQLQueryImpl(dataSource.getConnection(), Configuration.DEFAULT)

エラー:

org.h2.jdbc.JdbcSQLException: Table "BAR" not found; SQL Statement: ...

このテスト実装は H2 データベースですが、実動データベースは DB2 であることに注意してください。これまでのところ、JDBC 接続文字列でスキーマを指定しようとしましたが、役に立ちませんでした。

4

3 に答える 3

2

スキーマはQタイプでエンコードされます。これは、RelationalPathインターフェイスhttp://www.querydsl.com/static/querydsl/2.9.0/apidocs/com/mysema/query/sql/RelationalPath.htmlを介してSQLシリアル化でアクセスされます。

于 2013-01-11T07:37:07.697 に答える
1

SQLTemplates保護されたメソッドを呼び出す独自の実装で拡張できましたsetPrintSchema(true);

于 2013-01-14T19:51:45.483 に答える