Обработайте порядок разных записей в разных таблицах с помощью Hibernate - PullRequest
0 голосов
/ 14 декабря 2010

Допустим, у меня есть база данных со следующими таблицами:

CREATE TABLE user (
   user_id int NOT NULL AUTO_INCREMENT,
   ...
   PRIMARY KEY (user_id)
);
CREATE TABLE action_x (
   action_x_id int NOT NULL AUTO_INCREMENT,
   ...
   not_the_same_columns_as_for_action_y,
   user_id int,
   PRIMARY KEY (action_x_id)
);  
CREATE TABLE action_y (
   action_y_id int NOT NULL AUTO_INCREMENT,
   ...
   not_the_same_columns_as_for_action_x,
   user_id int,
   PRIMARY KEY (action_y_id)
);

Отношение: пользователь <= [1: M] => action_x и пользователь <= [1: M] => action_y.

Таблица 'user' содержит данные о пользователе (ах), такие как логин и пароль, например. Таблицы 'action_one' и 'action_two' содержат данные для двух различных действий. Действия настолько отличаются друг от друга, что их нужно разделить на две таблицы.

  • Подводя итог, 1 пользователь может иметь 0 или БОЛЬШЕ записей action_x и 0 или БОЛЬШЕ action_y records.

Моя проблема в том, что я хотел бы реализовать (путем хранения соответствующих данных в базе данных) способ сообщить пользователю, какие действия он или она должны выполнять в определенном порядке.

  • Например, user_id = 1 должен выполнить action_x_id = 2, после этого action_y_id = 1, затем action_x_id = 10, и т. д.

Я использую MySQL в качестве источника базы данных с Hibernate 3.6.x и Java.

Есть ли какой-нибудь стандартный способ решения подобных проблем? Как бы вы решили проблему?

Спасибо за помощь и хорошего дня! =)

1 Ответ

1 голос
/ 14 декабря 2010

Я бы представил еще одну таблицу.Давайте назовем его GeneralAction и установим пользовательские FK в таблицу.Таким образом, поле должно быть

general_action_id
user_id
action_x_id
action_y_id

Для каждой записи в таблице action_x_id или action_y_id имеет значение null

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