MySQL を使用した Spring JPA での「JDBC タイプ: 1111 の方言マッピングがありません」のトラブルシューティング
Spring JPA アプリケーションで、「 JDBC タイプの方言マッピングがありません: Hibernate の作成中に 1111" 例外が発生しますセッションファクトリー。正しい MySQL5Dialect を構成しているにもかかわらず、このエラーは引き続き発生します。
問題の調査
例外は、データベースが、構成された方言 (MySQL5Dialect) が返さない型を返していることを示しています。認識する。これは、通常 UUID データ型を表す JDBC 型 1111 に関連している可能性があります。
解決策
この問題は、クエリを変更してキャストすることで解決できます。 varchar 型としての UUID 列。これは、JPQL クエリで次の構文を使用して実現できます:
SELECT Cast(columnName as varchar) id, ...
特定のケースでは、更新されたクエリは次のようになります:
@Query(value = "SELECT Cast(stuid as varchar) id, SUM(marks) as marks FROM studs GROUP BY stuid", nativeQuery = true) List<Student> findMarkGroupByStuid();
追加の考慮事項
UUID 列をキャストすることにより、クエリは、設定された方言と互換性のある形式でデータを返します。これにより、「JDBC タイプの方言マッピングがありません: 1111」エラーが解決され、アプリケーションが正常に起動できるようになります。
以上が私の Spring JPA アプリが MySQL で「No Dialect Mapping for JDBC Type: 1111」をスローするのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。