2013-08-07 5 views
1

У меня есть две таблицы, подобные этому.отображение спящего режима с использованием аннотации

Company 
     company_id int(11) not null auto_increment primary key, 
     name varchar(200) not null 

Employee 
     employee_id int(11) not null auto_increment primary key, 
     company_id int(11) not null, 
     employee_name varchar(50) not null, 
     foreign key(company_id) references Company(company_id) on updade cascade on delete cascade 

Теперь я хочу, чтобы получить доступ к информации о сотрудниках, а также информацию о компании только с помощью

from Employee 

с Hibernate. Я новичок в hibernate, я не знаю, какой метод будет использоваться. либо присоединиться к таблице, присоединению первичного ключа, либо к любому другому. Пожалуйста помоги.

ответ

1

Глядя на ваш стол, похоже, что у компании может быть много сотрудников, а работник может работать только для одной компании. Я вижу, что у вас есть внешний ключ company_id в таблице ваших сотрудников. У вас нет таблицы соединений.

Таким образом, вы захотите настроить свои объекты, чтобы отразить эту структуру базы данных. Создайте класс компании и класс Employee. Также дайте Company a Set < Employee> поле.

Затем настройте Hibernate с базовым двунаправленным отношением «один ко многим» от компании к сотруднику.

Hibernate будет обрабатывать создание SQL для вас (FYI использует по умолчанию взаимные объединения для отношений «один ко многим» и «много-к-одному», хотя вы можете установить его для генерации последовательных выборок, если хотите).

Вам не нужна таблица соединений, если у вас не было отношений между многими сотрудниками (и в этом случае вам не нужен внешний ключ company_id для сотрудников).

Смежные вопросы