- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 orika 将 DateMidnight
映射到 LocalDate
.但无论我尝试什么,我都会收到此错误 ma.glasnost.orika.MappingException: No concrete class mapping defined for source class org.joda.time.chrono.ISOChronology
。但它只在 jenkins 服务器(unix)上失败,而不是本地(win)。
从 DateMidnight
到 LocaleDate
的映射配置如下:
public LocaleDate convert(DateMidnight source, Type<? extends LocaleDate> destinationType) {
if (source == null) { return null; }
return new LocaleDate(source);
}
无论如何,我已经尝试在 jodatime 中发现的时间顺序之间添加具体的映射。
例如
ISOChronology
-> ISOChronology
ISOChronology
-> Chronology
年表
-> ISOChronology
年表
-> 年表
使用 registerClassMap
如下所示:
mapperFactory.registerClassMap(mapperFactory.classMap(ISOChronology.class, ISOChronology.class).byDefault().toClassMap());
ISOChronology
-> ISOChronology
在为 org.joda.time.chrono.ISOChronology 创建对象工厂时给了我异常
。
任何帮助将不胜感激
编辑 - 解决方案和更多信息
因此,我首先使用 MapperFactory.registerObjectFactory
为 Chronology
注册了一个 ObjectFactory
之后找到了解决方案。
然后代码失败并出现异常,说明在创建 LocaleDateTime
时 280 为何不是 hoursInDay
的有效值。现在,所有映射器都设置为从 DateMidnight
映射到 LocaleDate
,为什么它会尝试初始化一个 LocaleDateTIme
对象......下面是Period
它试图映射到的类(从内存中写入)
public class Period {
public final LocaleDate from;
public final LocaleDate to;
public Period() {}//Rank: 0
public Period(LocaleDate from, LocaleDate to) {//Rank: 2000
this.from = from;
this.to = to;
}
public Period(LocaleDateTime from, LocaleDateTime to) {//Rank: 2000
this.from = from.toLocaleDate();
this.to = to.toLocaleDate();
}
}
从 XMLPeriod
到 Period
的映射器使用了 field("fom", "from")
和 field("to", "至")
.
事实证明,Orika 的构造函数解析策略是基于一种试探法,试图找到它可以实现的参数数量最多的构造函数。然而,启发式算法并不考虑您注册了哪些映射或转换器,而是纯粹查看参数名称。
因为最后两个构造函数具有相同的秩。然后它忽略使用 LocaleDate
的构造函数,并尝试使用初始化 LocaleDateTime
。然后残酷地失败了,因为它没有 LocaleDateTime
参数顺序的概念(并且也会失败,因为 ISOChonology
是单例的,但这是固定的)
所以...我所有问题的解决方案...
//DONT change wtf name, orika-mappings will break.
public Period(LocaleDateTime from, LocaleDateTime wtf) {
this.from = from.toLocaleDate();
this.to = wtf.toLocaleDate();
}
是的,重命名参数解决了问题...
附言。这可能不是解决此问题的最佳方法。但这是一个解决方案。如果有人知道如何以更好的方式解决这个问题,请告诉我。
最佳答案
我遇到了类似的问题,您是否尝试过以下方法,也许它有帮助:
factory.getConverterFactory().registerConverter(new PassThroughConverter(org.joda.time.Chronology.class));
关于java - jodatime DateMidnight的Orika映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35130700/
我正在使用 Orika Mapper。 我想知道我能不能包括或排除属性 使用 Orika Mapper 进行映射时。 如果可能,那么如何做同样的事情? 最佳答案 您可以简单地通过定义映射来包含属性。
我已经定义了对象 HomeContentDTO 和 SubscriberUpsertDTO 的映射 public class HomeContentDTO implements Serializabl
Orika 支持泛型类型,但我很难让它与泛型集合一起使用。由于 Orika 不支持不同的收集策略(累积、非累积、孤立删除),我需要编写一个自定义映射器来处理我的需求。 问题是 Orika 没有应用这个
我需要使用 Orika 实现嵌套映射器。我需要怎么做呢?让我们讨论嵌套的简单对象 Class Person(){ Address address; String firstName; String l
考虑 2 个对象: public class ClassA { private List animals; public List getAnimals() { ret
我有以下实体: public class Activity { private Long activityId; private String name; private Long
我需要用 Orika 替换 Dozer 映射,并且我想知道是否可以在 Orika 中执行此 Dozer 操作 mapper.map(obj1, obj2)?到目前为止,我已经看到,对于目标,您只能指定
我有以下两个类(class): public class TodoDto { private Long id; private String description; priv
我有一个 Class1,我想将其转换为 Class2。 Class1 和 Class2 都有一个字段:AbstractClass3 some。 AbstractClass3 被声明为 abstract
我想使用 Orika 库映射一个带有嵌套集合的字段。我在类里面的字段定义为: private final List> list = new LinkedList>(); Pojo 是一个简单的 POJ
我需要帮助将 n 层深层结构展平为单层对象属性。约定是使用下划线字符 (level1_level2_level3)。我正在使用 orika ( http://orika-mapper.github.i
我需要使用 Orika 将一个属性映射到多个属性,并且正在努力寻找合适的示例。 给定以下类(class): public class A { String propertyA1 Strin
您好,我很难映射抽象嵌套属性的字段。这里我有一个测试用例可以更好地解释它: package com.mycompany.asd; import org.junit.Assert; import org
有没有办法使用 Orika将字段的值设置为文字值或常量值? 我的意思是: public class ObjectMapper extends ConfigurableMapper {
我想使用 Orika 映射两个字段 @Override public void configure(MapperFactory factory) { factory.clas
我有以下类(class): public class A{ List aaList; public A(List aaList){ this.aaList = aaLi
这可能很简单,但我无法在文档中找到它。我有一个人类 class BasicPerson { private String name; private int age; private
在实际项目中,考虑到不同的数据使用者,我们经常要处理 VO、DTO、Entity、DO 等对象的转换,如果手动编写 setter/getter 方法一个个赋值,将非常繁琐且难维护。通常情况下,这类转换
我有这样的情况: class Person { String firstName; String lastName; Integer age; Float height
我正在使用 Orika Mapper 来映射源类和目标类的字段。 我可以完美地进行一对一映射。 我在 Source 类中有两个字段,例如 dateOfDeparture 和 dateOfArrival
我是一名优秀的程序员,十分优秀!