0

MySQL に格納されているテーブルと一致する配送情報オブジェクトがありますが、「住所」は (オブジェクト内の) オブジェクトですが、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>

クエリで返された addressId に基づいて MyBatis にアドレスを選択させる方法を見つけようとしていますが、まだ成功していません。現在、私が期待する空の Address オブジェクトではなく、 address の値を null に設定しています。

これを行うことは可能ですか、それともより多くのデータを含めるためにクエリを別の形式にする必要がありますか? 少なくともアドレスフィールドをnullではなく空のアドレスに設定するために、何か別のことをする必要がありますか?

ご協力ありがとうございます。

UPDATE 明確にしたいのですが、addressId に一致するアドレスがある場合は、そのアドレスを問題なく取得して入力します。私が直面している問題は、id が 0 に設定され、クエリがゼロの結果を返す場合です。1 つのインスタンスに対してアドレスを空のアドレス オブジェクトに設定しているように見え、残りはすべて null に設定されています。

4

1 に答える 1

0

この設定を使用すると役立つかどうかを確認します。

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