У меня есть класс (назовем его классом A), который содержит в качестве атрибута подкласс (назовем его классом B).
So
public class Request {
private User user;
private ZonedDateTime requestTime;
//getters,setters
}
public class User {
private Integer userID;
//getters,setters
Что я пытаюсь сделать, так это вставить запрос или в код (при условии, что myUser и loggerMapper уже созданы):
Request myRequest = new Request();
myRequest.setuser(myUser);
ZonedDateTime z = ZonedDateTime.now();
myRequest.setrequestTime(z);
loggerMapper.logRequest(myRequest);
Где у меня есть интерфейс:
public interface loggerMapper {
Boolean logRequest(Request myRequest);
}
И такой сопоставитель xml:
<insert id="logRequest" parameterType="map">
insert into Request(userID,requestTime)
values (#{userID},#{requestTime})
</insert>
myBatis абсолютно ненавидит ZonedDateTime, он просто блюет
java.lang.IllegalStateException: Type handler was null on parameter mapping for property 'requestTime'.