いくつかの異常および解決方法の記録(継続的な更新)


異常:org.springframework.http.converter.HttpMessageNotReadableException:JSON parse error: Cannot construct instance of com. * (although at least one Creator exists): cannot deserializ
理由:クラスに空のコンストラクタがありません
異常:nested exception is java.lang.NoSuchMethodError:java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer;「ローカルは正常です.
理由:ByteBufferを使用してデータを転送する場合、java 8とjava 11ではflipメソッドの実装が異なります.IDEAのデフォルトのjava 11を不注意で使用してコンパイルしてjava 8のサーバに置くと、この問題が発生します.StackOverflowの1つを抜粋します.
After searching for a while and verified through switching the installed JDK between 8 and 11, I have found that there are some changes (new overridden methods) applied to several methods (e.g. flip(), clear() ) in ByteBuffer class.
In Java 8, while calling filp() method of ByteBuffer class, since it has no implementation for this method, so it is actually calling the method from extended class, Buffer; which is returning Buffer object as below
異常:IDEAにJDKを導入した時にThe selected directory points to a JRE,not a JDKを間違えた.理由:デフォルトのフォルダ名を使用すればいいです.前のパスを変えることができます.javaをインストールするフォルダの名前は動かないほうがいいです.jdk 1に似ているはずです.8.0_121このようなフォルダ名
異常:JPAタイムズjavaを使用する.sql.SQLException: Unknown column ‘user0_.user_name'in'field list'の理由:このエラーの原因は多く、一見クエリの列名が表に見つからないことに注意してください.ここで注意してください.jpaの実体クラスで@Column(name="userName")注釈を使用すると、jpaはラクダの峰に命名された変数を下線付きの列名に解析します.
@Column(name = "userName")

ここではuser_と解析されますnameという列名ですが、表の列名がuserNameであれば、次のように書きます.
@Column(name = "username")

異常:JPAを使用する場合、orgを誤る.springframework.core.convert.ConversionFailedException:Failed to convert from type[java.lang.Object[]]to type[xxx.xxx.xxx]理由:repositoryでは他のクラスがクエリされ、repositoryでのクエリ結果は結果タイプに制限があり、クエリ結果がrepositoryで規定されたクラスと一致しない場合、上記の異常が発生します.
異常:httpclientを使用して送信要求を実行する場合:org.apache.http.client.ClientProtocolException
Caused by: org.apache.http.ProtocolException: Target host is not specified
理由:http://とhttps://???がリンクにあるかどうか見てみましょう.
異常:Encountered a duplicated sql alias[xxxx]during auto-discovery of a native-sql query
理由:jpa使用時のクエリー結果に重複するフィールドがある