我正在使用MyBatis在Spring-ws中创建一个项目。我在xsd中有许多web服务定义。Spring正在创建基于xsd的POJO类。
问题是在xsd中,我有一些字段的参数是nillable="true"。
像这样:<xs:element name="numericParam" type="xs:int" minOccurs="0" maxOccurs="1" nillable="true"/>
在生成的POJO中,该字段如下所示:protected JAXBElement<Integer> numericParam;
我想在MyBatis配置中创建自定义TypeHandler,以处理JAXBElement<Integer>类型,但我如何知道要使用哪个ObjectFactory。
有没有可能知道哪个映射器正在调用我的自定义TypeHandler?在TypeHandler中,我只有列名。
发布于 2018-05-25 17:51:12
这在目前的mybatis (版本3.4.6)中是不可能的。不会将有关上下文的信息(如封闭类型或映射器方法)传递给处理程序。
如果您确实希望使用jaxb生成的类型,则需要为每个字段创建一个处理程序(当然,拥有实现所有逻辑的公共基础是有意义的)。
https://stackoverflow.com/questions/50487664
复制相似问题