Hibernate NonUniqueDiscoveredSqlAliasException のローカル接続クエリを無効にする
P粉852114752
P粉852114752 2024-02-21 13:50:47
0
1
452

Spring Boot でネイティブ クエリを使用していくつかのテーブルを結合したいと考えています。 クエリは次のようになります:

リーリー

現在、[id][arw_id] で Hibernate NonUniqueDiscoveredSqlAliasException が発生しています。 using アノテーションを使用して 2 番目のものを修正できますが、テーブルの id はエンティティなので、名前を変更したくありません...

提案や Hibernate のバグはありますか?

###乾杯、 ニクラス

編集: 明確にするために: 私が受け取った最初のエラー メッセージは

ネイティブ SQL クエリの自動検出中に重複した SQL エイリアス [arw_id] が発生しました; ネストされた例外は org.hibernate.loader でした。 [...]。 次に、クエリを次のように変更しました。 リーリー となり、次のエラーが発生します。

ネイティブ SQL クエリの自動検出中に重複した SQL エイリアス [id] が発生しました。ネストされた例外は org.hibernate.loader.custom.NonUniqueDiscoveredSqlAliasExce[...]

P粉852114752
P粉852114752

全員に返信(1)
P粉546138344

employeecba のすべての列が本当に必要ですか? 結果を何に変換しますか?

Employee クラスに変換したい場合は、

を使用してください。 リーリー

受信したエラーの原因が idarw_id であると確信できる理由は何ですか? これらは異なるフィールドであり、あなたが言及したエラーは発生しないはずです。または、c または b または a に同じ列名があることが原因である可能性が最も高くなります。 この場合、列名があいまいになります。

このクエリを使用しているコードを見せていただければ、より明確になるでしょう

######編集### ご覧のとおり、

ON ではなく USING を使用しただけです。これは、2 つのテーブル間で arw_id を共有することを意味し、結果セット内の arw_id の重複が排除されます。 これがあなたのIDでも同じ場合は、idでも同じことをしてみてはいかがでしょうか?

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート