0

我有一个与它存储在 MySQL 中的表匹配的运输信息对象,除了“地址”是一个对象(在对象中)但它是数据库表中的 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 对象。

是否可以这样做,或者我是否需要以不同的方式格式化我的查询以包含更多数据?我是否需要做其他不同的事情,以便至少将地址字段设置为空地址而不是空地址?

感谢您提供任何帮助。

更新 我想澄清一下,如果有一个与 addressId 匹配的地址,它会毫无问题地提取所述地址并填充它。我遇到的问题是当 id 设置为 0 并且查询返回零结果时。它似乎将地址设置为一个实例的空地址对象,其余的都设置为空。

4

1 回答 1

0

如果您使用此设置,请查看是否有帮助:

<setting name="callSettersOnNulls" value="true"/>
于 2013-10-29T04:49:27.410 回答