Hi Iwao,
Thanks for your reply. I've tested it against 3.4.0-SNAPSHOT and got the
same error.
My understanding is that the exception is thrown while the XML
configuration is parsed so before the driver has any chance to be involved.
I'm not sure I understand the recommendation to go with solution #1. I
want to have all DATE columns handled by my custom TypeHandler instead
of the default one. Essentially, I want to do what ExampleTypeHandler
(from the docs) does for VARCHAR, but for DATE columns instead. This
way, if I use a Map result type, it will contain LocalDate objects
instead of Date. If I don't use @MappedJdbcTypes, it seems that this
won't happen.
The stack trace:
org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper
Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error
parsing Mapper XML. Cause: java.lang.IllegalStateException: No
typehandler found for property birthday
at
org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:117)
at
org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:95)
Caused by: org.apache.ibatis.builder.BuilderException: Error parsing
Mapper XML. Cause: java.lang.IllegalStateException: No typehandler found
for property birthday
at
org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:120)
at
org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:92)
at
org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.loadXmlResource(MapperAnnotationBuilder.java:169)
at
org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.parse(MapperAnnotationBuilder.java:120)
at
org.apache.ibatis.binding.MapperRegistry.addMapper(MapperRegistry.java:72)
at
org.apache.ibatis.binding.MapperRegistry.addMappers(MapperRegistry.java:97)
at
org.apache.ibatis.binding.MapperRegistry.addMappers(MapperRegistry.java:105)
at
org.apache.ibatis.session.Configuration.addMappers(Configuration.java:702)
at
org.apache.ibatis.builder.xml.XMLConfigBuilder.mapperElement(XMLConfigBuilder.java:351)
at
org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:115)
... 17 more
Caused by: java.lang.IllegalStateException: No typehandler found for
property birthday
at
org.apache.ibatis.mapping.ResultMapping$Builder.validate(ResultMapping.java:151)
at
org.apache.ibatis.mapping.ResultMapping$Builder.build(ResultMapping.java:140)
at
org.apache.ibatis.builder.MapperBuilderAssistant.buildResultMapping(MapperBuilderAssistant.java:382)
at
org.apache.ibatis.builder.xml.XMLMapperBuilder.buildResultMappingFromContext(XMLMapperBuilder.java:378)
at
org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:280)
at
org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:252)
at
org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:244)
at
org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:116)
... 26 more
Regards,
Bertrand