Hibernate - XML-отображение таблицы N <-> N с дополнительными столбцами - PullRequest
0 голосов
/ 24 августа 2011

У меня есть эта схема:

---------------  --------------------  ----------------
| Customers   |  | CustomRoutePrice |  | Route        |
|-------------|  |------------------|  ---------------|
| CustId (pk) |  | CustId  (pk)     |  | RouteId (pk) |
| Desc        |  | RouteId (pk)     |  | Desc         |
---------------  | Price            |  | Price        |
                 --------------------  ----------------

и я хочу сопоставить цену CustomRoutePrice с моим Customer POJO, говоря что-то вроде:

Map<Route, Double> customRoutesPrices;

или, возможно, с новым POJO под названием CustomRoute, так что это может выглядеть примерно так:

public class CustomRoute {
    private Customer customer;
    private Route route;
    private Double price;
}

так что в моем Customer s POJO у меня может быть такой набор:

Set<CustomRoute> customRoutes;

, который может быть набором CustomRoute с для этого Customer.

Итак, мой вопрос: как я могу сделать возможным оба сопоставления?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 25 августа 2011

Вы можете объявить карту :

<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>
0 голосов
/ 24 августа 2011

Это классический пример сопоставления «многие ко многим», в котором таблица сопоставления имеет дополнительные столбцы помимо PK обеих сторон. Здесь показывает полный пример для этого типа отображения

...