MyBatis关联没有列



在映射器a中,我得到了一个resultMap,它包含使用另一个映射器(映射器
B(方法加载的关联,并且映射器上的方法没有参数。

映射程序A中的关联应该是什么样子?

我试过以下几种:

<association property="property" column=""
select="mapperB.findObjectWithNoArguments"
javaType="Object"/>

但这不起作用,加载的值为null(即使它实际上存在并且应该加载(。

删除column属性会导致解析映射器XML时出错。原因:java.lang.IollegalStateException:映射缺少属性错误的列属性。

事实证明,如果您真的想通过XML进行映射,唯一可能的方法就是添加一个具有truth-y值的伪列,例如:

SELECT
1 AS column_to_force_association
FROM ...

然后在关联中使用这个伪造的列:

<association property="property" column="column_to_force_association"
select="mapperB.findObjectWithNoArguments"
javaType="Object"/>

但这看起来并不是最佳的,所以更好的方法可能是加载没有值的实体,并使用setter在服务中设置它。

最新更新