0
我想從源類到目的地,在源中我有一個日期和在目的地LocalDateTime JMapper轉換。JMapper如何創建從日期到LocalDateTime的轉換
閱讀JMapper的文檔的邏輯方法是製作一個convertion。然而,基於來自question的解決方案的轉換不起作用,並且我總是在目標日期得到空值。
現在我的代碼
// Source Entity
@Entity
@Table(name = "source")
public class Source {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column
private Long id;
@Column
private String name;
@Column
private Date date;
// ommited getters and setters
}
// Destination entity
public class Destination {
private Long id;
private String name;
private LocalDateTime date;
// ommited getters and setters
}
// Mapping with API
jMapperAPI = new JMapperAPI();
Conversion dateToLocalDateTime = conversion("dateToLocalDateTime")
.from("date").to("date").type(JMapConversion.Type.STATIC)
.body("return java.time.LocalDateTime.ofInstant(${source}.toInstant(), java.time.ZoneId.systemDefault())");
jMapperAPI.add(mappedClass(Destination.class).add(global()
.excludedAttributes("date"))
.add(dateToLocalDateTime));
// Converting
mapper = new JMapper<>(Destination.class, Source.class, jMapperAPI);
mapper.getDestination(source);
爲什麼排斥,包括同場?你可以通過這種方式減少配置: ... global()。targetAttributes(「date」)... – Alessandro
@Alessandro無法在global()中找到targetAttributes方法() –
對不起,我看錯了,在你的情況,你只能寫: ... mappedClass(Destination.class).add(global()).add(轉換(「dateToLocalDateTime」)... 沒有理由排除全球幷包括它作爲法線貼圖 – Alessandro