フィールドを持つ Hibernate アノテーション付きエンティティがあります。
@OneToMany(mappedBy="templateInstance", fetch = FetchType.EAGER)
@MapKey(name = "attributeName")
private Map<String, Component> components;
Hibernate はこれから PersistentMap を作成します。次に、Dozer に、これをそのようなフィールドを持つオブジェクトにマップしてもらいます。
private Map<String, ComponentDto> components;
LazyInitializationExceptions といくつかのデバッグを行った後、これは閉じた Hibernate セッションの問題ではなく、Dozer が HashMap ではなく PersistentMap にマップしようとしていることがわかりました。したがって、Dozer がターゲット マップにアクセスすると、もちろんセッションがないため、PersistentMap は例外をスローします。
だから、Dozer の意図した動作は HashMap にマップすることだと思いました。ここで質問です: 私は何か間違ったことをしていますか、それとも Dozer ですか? Dozer に PersistentMap を通常の Java 標準マップにマップさせるにはどうすればよいですか?
以前はリストを使用しても問題はありませんでした。Hibernate PersistentMap のマッピングに Dozer を使用した人はいますか?
よろしく、 コンスミエラー