У меня есть таблица article
и несколько пользовательских таблиц a_user
, b_user
,... с точно такой же структурой (но разными данными). Я не могу ничего изменить в таблицах *_user
, кроме префикса имени таблицы, но могу изменить все остальное (пользовательские таблицы содержат только информацию о пользователе, в них нет ничего о article или user_type).
Мне нужно связать статью с пользователем (многие к одному), но имя пользовательской таблицы определяется полем user_type. Например
Article table record:
...
user_id="5"
user_type="a"
означает, что он связан с пользователем с id=5 из таблицы a_user
(id 5 не уникален в области пользователей, каждая пользовательская таблица может иметь свой id 5).
Любые предложения, как справиться с этой ситуацией? Как я могу сопоставить это отношение в Hibernate (сопоставление XML, без аннотаций), чтобы оно автоматически выбирало правильного пользователя для статьи во время выбора/обновления? Как мне сопоставить пользовательские таблицы (один или несколько классов?)?
Мне нужно будет выполнить несколько запросов, подобных этому:
from Article a where a.userType=:type and a.user.name=:name
Спасибо.