我有一个传送信息对象,它与存储在MySQL中的表相匹配,但"Address“是一个对象(在对象中),但是它是DB表中的一个AddressId。我当前的结果地图如下所示:
<resultMap type="ShippingInfo" id="shippingInfoResult">
<result column="orderItemId" property="orderItemId" />
<result column="shipingDate" property="shippingDate" javaType="java.sql.Date" />
<result column="numberShipped" property="numberShipped" />
<result column="carrier" property="carrier" />
<result column="tracking" property="tracking" />
<result column="shippingType" property="shippingType" />
<association property="address" column="addressId" javaType="com.Foo.Bar.address.Address" select="com.Foo.Bar.address.AddressMapper.read" />
</resultMap>我一直在试图找出如何让MyBatis根据查询中返回的addressId来选择地址,但到目前为止还没有成功。它目前正在将address的值设置为null,而不是我所期望的空Address对象。
是否可以这样做,或者是否需要对查询进行不同的格式化以包含更多的数据?我是否需要做一些不同的事情,以便至少将address字段设置为空地址,而不是null?
谢谢你的帮助。
UPDATE --我想澄清一下,如果有一个地址与它所提取的地址匹配,并且没有问题,并填充它。我遇到的问题是,当id设置为0,查询返回零结果时。它似乎将地址设置为一个实例的空address对象,其余的都设置为null。
发布于 2013-10-29 04:49:27
如果使用此设置,请查看是否有帮助:
<setting name="callSettersOnNulls" value="true"/>https://stackoverflow.com/questions/19639177
复制相似问题