Querydsl: …に複数回書き込みを試みました。構成を確認してください

作成日 2018年07月30日  ·  4コメント  ·  ソース: querydsl/querydsl

バージョン4.2.1では、エラーが発生します

https://github.com/querydsl/querydsl/blob/8f96f416270d0353f90a6551547906f3c217833a/querydsl-sql-codegen/src/main/java/com/querydsl/sql/codegen/MetaDataExporter.java#L430

querydsl-maven-pluginをjdbcDriver com.mysql.cj.jdbc.Driver (mysql-connector-java 8.0.11)と一緒に使用している間。 これは、MySQLへの接続に使用するユーザーが複数のデータベースにアクセスできるために発生します。 回避策として、 nullCatalogMeansCurrent=truejdbcUrlに追加する必要がありました。

全てのコメント4件

複数のスキーマに対して個別のパッケージを構成しますか?
または、スキーマをパターンでフィルタリングしますか?
Mavenプラグインがクラスがすでに生成されていることを検出すると失敗することを意図しているので、もう少し絵を描くことができますか?

tableNamePatternを介してテーブルをフィルタリングし、schemaPatternを介してフィルタリングしようとしましたが、これは効果がありません。 (スキーマは常にnullであり、カタログはデータベース名によって異なります)。

Edit1:dbは次のようになります:

db1:
db1.Users
db2:
db2.Orders

https://github.com/querydsl/querydsl/blob/8f96f416270d0353f90a6551547906f3c217833a/querydsl-sql-codegen/src/main/java/com/querydsl/sql/codegen/MetaDataExporter.java#L257

MetaDataExporter :: handleTable(pseudo json)で次のような2つのアイテムを返します。

{catalog: db1, schema: null, tableName: Users}
{catalog: db2, schema: null, tableName: Users}

Edit2:スキーマdb1のみを使用します。 私のアプリケーションではdb2はまったく使用されていませんが、ユーザーはたまたまそれにアクセスできます。

私は同じ問題を抱えています!

回避策:Qファイルを作成する特定のデータベースにのみアクセスできるデータベースに新しいユーザーを作成します。 終わり。

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

Ghalleb picture Ghalleb  ·  4コメント

beamofsoul picture beamofsoul  ·  6コメント

d-schmidt picture d-schmidt  ·  5コメント

okihouse picture okihouse  ·  5コメント

svaidya401 picture svaidya401  ·  4コメント