我有一张 Voucher - 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>
我如何正确映射从客户到凭证的多对多关联列表,以便如果客户 POJO 被持久化,则如果 Voucher 实体不存在,则将其持久化到 TableB,而不是 TableA?这可以做到吗?如果不是,那么将客户使用的凭证保存到 tableB 的解决方法是什么?(TableA 仅包含可用的 Vouchers,不包含已使用的 Vouchers)