3

org.dozer.MappingException:クラス(クラスcom.essilor.ong.domain.inventory.POLocationEntity)のフィールド(tarShipMethodCode.lmCourier.courierName)の読み取りまたは書き込みメソッドが見つかりません

warファイルをビルドしてTomcatを実行しようとすると、このエラーが発生します。JPAとドーザーマッピングを使用しています。誰かがそれを修正する方法を教えてもらえますか?

4

1 に答える 1

9

Bean と Dozer-Mapping-File を確認してください。

複数の (多かれ少なかれ一般的な) エラーが考えられます。

  • マッピング ファイルのタイプミス。POLocationEntity のパッケージ名とフィールド名を確認してください。tarShipMethodCode という名前のフィールドがあり、これには ImCourier フィールドがあり、これには courierName フィールドがありますか?

  • ゲッター/セッターの欠如。もう一度 Bean を確認してください。Dozer は通常、getFieldName メソッドと setFieldName メソッドを想定していますが、他のメソッドを指定しない限り (私は想定していませんが、マッピング ファイルを投稿する可能性があります)。

  • 問題を絞り込みます。機能していないフィールドはこれだけですか? それとも、このフィールドはまったく指定されていませんか? Dozer は、対応するエントリがマッピング ファイルにないフィールドを名前でマッピングしようとする傾向があり、予期しないエラーが発生する可能性があります。

tl;dr

より多くの情報 (xml のマッピング、Bean コード) があれば、これを分析するのは簡単ですが、上記のポインターは、私の経験ではこの種の問題を解決するものです。

于 2013-03-01T12:14:08.017 に答える