JPA-объект, который использует соединение для имени пользователя, но прозрачно использует целочисленный идентификатор - PullRequest
1 голос
/ 02 марта 2012

Предположим, у меня есть класс сущностей, в котором хранится имя пользователя:

class Profile {
   private String userName;
   ...
}

Тогда в базе данных у меня есть две таблицы:

--- USERS ---
-> username (varchar)
-> uid (int)

--- PROFILES ---
-> uid

Между таблицами USERS и PROFILES, соединяющимися в uid, существует отношение один к одному. Я хочу, чтобы у моего класса сущности Profile были все поля таблицы PROFILES, но вместо этого поменяйте местами идентификатор пользователя в классе. Я просто хочу использовать uid для соединений и для экономии места в базе данных. Примечание. Я использую Spring HibernateTemplate () для выполнения именованных запросов, которые я создал.

Можно ли использовать JPA для сопоставления поля userName другой таблицы с сущностью Profiles? Когда я сохраняю сущность профиля, откуда она узнает, что это просто объединенное поле?

1 Ответ

0 голосов
/ 02 марта 2012

Полагаю, вы можете сделать это с помощью аннотации @ SecondaryTable .

Я думаю, вам нужно иметь uid в поле в классе сущностей, но я думаю, что это не будет проблемой.

...