У меня есть простой класс, подобный этому:
data class Foo(
val id: Long,
val created: LocalDateTime,
val myBool: Boolean? = null,
val comment: SensitiveString? = null
)
Я получаю исключение:
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: Error instantiating class com.XXX.XXX.XXX.XXX.Foo with invalid types (long,LocalDateTime,boolean,SensitiveString) or values (XX,2020-03-19T17:36:30.415,false,0@SensitiveString).
Cause: java.lang.NoSuchMethodException: com.XXX.XXX.XXX.XXX.Foo.<init>(long, java.time.LocalDateTime, boolean, com.XXX.XXX.XXX.XXX.SensitiveString)
Вот мой xml результатКарта:
<resultMap id="fooMap" type="com.XXX.XXX.XXX.XXX.Foo">
<constructor>
<arg column="id" javaType="_long"/>
<arg column="created" javaType="java.time.LocalDateTime"
typeHandler="com.XXX.XXX.XXX.XXX.LocalDateTimeTypeHandler"/>
<arg column="myBool" javaType="_Boolean"/>
<arg column="comment" javaType="com.XXX.XXX.XXX.XXX.SensitiveString"
typeHandler="com.XXX.XXX.XXX.XXX.EncryptedStringTypeHandler"/>
</constructor>
</resultMap>
Как я могу решить это? запрашиваемый конструктор обязательно должен быть доступен, так что это очень запутанно. Более того: когда я пытаюсь создать свой собственный конструктор со всеми полями, kotlin жалуется, говоря, что конструктор конфликтует с неявным.
Как я могу справиться с этим?