在映射器 A 中,我得到了一个resultMap
,其中包含使用另一个映射器(映射器 B )方法和映射器上的方法加载的关联< strong> B 没有参数。
关联在映射器 A 中的外观如何?
我尝试了以下操作:
<association property="property" column=""
select="mapperB.findObjectWithNoArguments"
javaType="Object"/>
但这不起作用,加载的值为null(即使它确实存在并且应该加载)。
删除column
属性会产生解析Mapper XML的错误。原因:java.lang.IllegalStateException:属性缺少映射映射列属性错误。
答案 0 :(得分:0)
事实证明,如果您真的想通过XML完成映射,则唯一可能的方法是添加一个带有true-y值的伪列,例如一个:
SELECT
1 AS column_to_force_association
FROM ...
,然后在关联中使用此伪造的列:
<association property="property" column="column_to_force_association"
select="mapperB.findObjectWithNoArguments"
javaType="Object"/>
但这似乎无处可寻,因此更好的方法是在没有值的情况下加载实体,然后使用设置器将其设置在服务中。