MySQL を使用する Spring JPA アプリケーションで「JDBC タイプの方言マッピングがありません: 1111」エラーが発生するイライラするかもしれません。必須のライブラリがロードされ、特定のプロパティが設定されていることを確認しても、問題が解決しない場合があります。
エラー メッセージは、MySQL の JDBC データ型と Hibernate ダイアレクトで構成されたマッピングとの間に不一致があることを示しています。この場合、使用されている MySQL バージョンは 5 で、指定されたダイアレクトは MySQL5Dialect であるようです。
解決策は、エラーを引き起こす特定のデータ型に対処することにあります。示されたケースでは、クエリによって返された UUID 列が問題の原因でした。これを解決するために、「cast」関数を使用して UUID 列を VARCHAR 型としてキャストするようにクエリが変更されました。
クエリでデータ型を明示的に指定することで、結果の JSON データを冬眠方言。変更されたクエリと対応する Java インターフェイスが参考のために提供されています。
@Query(value = "SELECT Cast(stuid as varchar) id, SUM(marks) as marks FROM studs where group by stuid", nativeQuery = true)
public interface Student(){ private String getId(); private String getMarks(); }
このアプローチでは、クエリによって返される JDBC データ型が、指定された Hibernate ダイアレクトによってサポートされているマッピングと一致することを確認し、「いいえ」を解決します。 JDBC タイプの方言マッピング: 1111' エラー。
以上がMySQL5Dialect を使用した Spring JPA アプリが「JDBC タイプの方言マッピングがありません: 1111」をスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。