我有一張憑證 - POJO映射到兩個表。第一個映射指定實體名稱「voucherA」並將POJO映射到TableA。第二個映射使用「voucherB」作爲實體名稱並將POJO映射到TableB。如何將多對多關聯映射到映射到兩個不同表的類?
現在我也有一個客戶POJO映射到TableC。此POJO參考列表中的憑證。
<list name="vouchers" table="TableC_vouchers">
<key column="pid"/>
<list-index column="position" base="0"/>
<!-- how to do that right -->
<many-to-many column="voucher_id" entity-name="voucherB"/>
</list>
如何正確映射許多-to-many關聯的從客戶憑證列表,這樣,如果客戶POJO持久保存,該券的實體被保存到表B,如果不存在,他們在那裏,而不是的表A?這可以做到嗎?如果不是,解決方法是什麼樣的,客戶使用的代金券會持續到tableB? (表A只包含可用的優惠券,而不是使用的優惠券)
只是爲了澄清,你是否堅持使用每種優惠券的表?將兩種類型的代金券存放在單一表格中是不可接受的? – Lyudmil 2009-11-02 16:09:50
第二張表只包含已使用的憑證。同樣在我的情況下,不同的用戶可以多次使用一張優惠券。在我的問題中,TableA可以理解爲「憑證仍然可用」和TableB「已使用的憑證」。它也可能發生TableA的代金券被刪除。我堅持如何創建多對多的關聯。 – Chris 2009-11-02 16:15:38
我明白了。如果您在表格中爲每個憑證存儲了一個標誌,如果使用憑證則爲真,如果不是,則爲假。我想這樣你仍然可以隨意刪除未使用的,但是你可以在同一個表中使用所有憑證,這使得多對多的微不足道。 – Lyudmil 2009-11-02 16:20:00