我有这个架构:
--------------- -------------------- ----------------
| Customers | | CustomRoutePrice | | Route |
|-------------| |------------------| ---------------|
| CustId (pk) | | CustId (pk) | | RouteId (pk) |
| Desc | | RouteId (pk) | | Desc |
--------------- | Price | | Price |
-------------------- ----------------
我希望将CustomRoutePrice
的价格映射到我Customer
的POJO,如下所示:
Map<Route, Double> customRoutesPrices;
或者可能有一个名为CustomRoute
的新POJO,所以看起来像这样:
public class CustomRoute {
private Customer customer;
private Route route;
private Double price;
}
所以在我Customer
的POJO中我可以有一套像:
Set<CustomRoute> customRoutes;
可能是CustomRoute
的{{1}} s集合。
所以我的问题是如何才能使这两种映射成为可能?
提前谢谢。
答案 0 :(得分:0)
这是多对多映射的经典示例,其中关联表除了多方的PK之外还有额外的列。 Here显示了此类映射的完整示例
答案 1 :(得分:0)
您可以声明地图&lt; Route,Double&gt;:
<map name="customRoutesPrices" table="CustomRoutePrice">
<key column="CustId" not-null="true"/>
<map-key-many-to-many class="Route" column="RouteId"/>
<element column="Price" type="double"/>
</map>