Стол с тремя столбцами - PullRequest
0 голосов
/ 10 марта 2011

Я хочу создать следующие отображения в JPA-2.0 с использованием Hibernate 3.6 и MySQL 5.1:

Table "PIPE"
------------
pipe_id (PK)
============
pipe_name
pipe_modified_date
------------


Table "ALGO"
------------
algo_id (PK)
============
algo_name
------------

Таблица «Труба» может хранить несколько алгоритмов (многие ко многим между «Труба» и «Алго»). Важно также хранить индекс заказа в списке. Также должно быть возможно хранить один и тот же алгоритм более одного раза.

Как смоделировать соответствующую объединяемую таблицу с помощью составного первичного ключа, состоящего из трех столбцов?

Table "PIPE_ALGO_JT"
---------------------
order_index (PK)
pipe_id (FK PK)
algo_id (FK PK)
=====================
---------------------

1 Ответ

1 голос
/ 10 марта 2011

@OrderColumn должен делать именно то, что вы хотите:

@Entity
public class Pipe {
    @ManyToMany
    @JoinTable(name = "PIPE_ALGO_JT")
    @OrderColumn(name = "order_index")
    private List<Aglo> algos;

    ...
}

Хотя в схеме, сгенерированной Hibernate, первичный ключ будет состоять из pipe_id и order_index (поскольку в этом случае наличие algo_id в первичном ключе избыточно).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...