java dozer 深度_java – Dozer深度映射设置为Set
免責聲明:
Mapping deep properties with intermediate collections in dozer已經提出了同樣的問題,但沒有接受答案(我的案例沒有正確答案).
所以問題.我有一個由ComplexObject組成的領域,如下所示
public class ComplexObject {
private Set inner;
... //other fields, setters and getters
}
public Class AnotherComplexObject {
private String property;
... //other fields, setters and getters
}
現在,我將ComplexObject映射到Target,其中Target具有Set< String>屬性.
public class Target {
private Set targetString;
... //other fields, setters and getters
}
我想將每個ComplexObject inner.property映射到一個Target targetString.在語義上看起來像的東西(當然,這不起作用,屬性不是Set和Dozer的成員生成MappingException):
ComplexObject
Target
inner.property
targetString
如果我將AnotherComplexObject的toString方法修改為,我可以實現我的目標
public class AnotherComplexObject {
public String toString(){
return property;
}
}
然后,Dozer將檢測源Set是“type”AnotherComplexObject,而目標Set是String,并將在轉換期間使用方法toString.不幸的是,這不是一個解決方案,因為我需要一個方法在我的POJO中讓Dozer進行轉換.
編寫一個自定義轉換器是什么工作,它會覆蓋convert方法以檢查source是否為Set,然后假設集合中的對象是AnotherComplexObject并從這一點開始進行轉換但不知何故我覺得這不是最好也不是更多優雅的解決方
關于如何解決這個問題的任何其他想法?
總結
以上是生活随笔為你收集整理的java dozer 深度_java – Dozer深度映射设置为Set的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java scriptrunner_Sc
- 下一篇: mysql having实例_Mysql