ホームページ  >  に質問  >  本文

Hibernate NonUniqueDiscoveredSqlAliasException のローカル接続クエリを無効にする

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粉852114752P粉852114752241日前414

全員に返信(1)返信します

  • P粉546138344

    P粉5461383442024-02-22 10:55:47

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

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

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

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

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

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

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

    返事
    0
  • キャンセル返事