最初の子リストオブジェクト内にLISTを導入するまでは、すべてMyBatisと私が概説したオブジェクトで動作していました。だから今、私の構造は次のとおりです。MyBatis 2番目のネストされたリストはnullを返します
私はこのresultMap構成のバリエーションで、XMLマッパーを通じて多数のアプローチを試みました。
<resultMap id="saleTransaction" type="com.company.sale.domain.Sale" autoMapping="true">
<result property="transactionNumber" column="TRANSACTION_ID"/>
<result property="salesTrip.tripDate" column="TRIP_DATE"/>
<result property="salesTrip.tripNumber" column="TRIP_NUMBER"/>
<result property="salesTrip.tripOriginTerminal.iataCode" column="ORIGIN_IATA_CODE"/>
<result property="salesTrip.tripOriginTerminal.city" column="ORIGIN_CITY_NAME"/>
<result property="salesTrip.tripDestinationTerminal.iataCode" column="DESTINATION_IATA_CODE"/>
<result property="salesTrip.tripDestinationTerminal.city" column="DESTINATION_CITY_NAME"/>
<collection property="salesTransactionPayments" ofType="SalesTransactionPayment">
<result property="amount" column="AMOUNT"/>
<result property="creditCard.cardNumber" column="CC_NUMBER"/>
<result property="creditCard.nameOnCard" column="CCHOLDER_NAME"/>
</collection>
<collection property="salesTransactionItems" column="TRANSACTION_ID" ofType="SalesTransactionItem" select="getSaleItems">
<result property="item" column="ITEM"/>
<result property="price" column="PRICE"/>
<result property="qty" column="QTY"/>
<association property="salesTransactionTaxRates" column="ID" resultMap="taxResult" />
</collection>
</resultMap>
<resultMap id="taxResult" type="com.guestlogix.sale.domain.SalesTransactionTaxRate" autoMapping="true">
<result property="code" column="code"/>
<result property="rate" column="rate"/>
<result property="isFixed" column="isFixed"/>
</resultMap>
オブジェクトSalesTransactionTaxRateが順番に親販売オブジェクトの子であるSalesTransactionItem、の子である:これは私が現在持っているものです。 SalesTransactionItemはLISTで、SalesTransactionTaxRateもLISTです。 ITEMには多くの税金があり、SALEには多くのITEMSが存在する可能性があります。
私は無駄に再び、SalesTransactionItem コレクション内コレクションとしてマッピングSalesTransactionTaxRateを試してみました。このアプローチを使用すると、SalesTransactionTaxRateがIDEのSalesTransactionItem内にまったく含まれていないことも登録されません。それ以外の場合は、他のオブジェクトやプロパティに対してオートコンプリートが行われます。
すべてのドキュメントには、コレクション内のコレクションが可能であることが示されています。何らかの理由で私のために働いていないようです。
何か助けやアドバイスをいただければ幸いです。
それは間違いなく、スタンドアロンのSQL Selectステートメントです。メインクエリとは独立しているため、そのまま解決することはできません。 JOINSを介してアイテムを返す包括的なSQLクエリが理想的です。 – SiriusBits