Как реализовать взаимно однозначное сопоставление внешних ключей в Hibernate?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как реализовать взаимно однозначное сопоставление внешних ключей в Hibernate?

Сообщение Anonymous »

Я пытаюсь реализовать сопоставление отношений один к одному в Hibernate, и я новичок в технологии Hibernate.
Мои два класса сущностей — это сотрудники и Клиент. Клиент должен иметь столбец идентификатора сотрудника в качестве внешнего ключа в таблице базы данных, т. е. этот клиент обслуживается этим сотрудником.
Теперь есть две страницы JSP, на которых я буду отправлять данные о сотруднике и клиенте. Сначала я добавлю/отправлю JSP сотрудника. Затем на клиентской странице JSP появится поле выбора, содержащее идентификатор сотрудника в качестве значения.
Я выполнил свою часть JSP. Но я сомневаюсь в моем индивидуальном отображении отношений клиента и сотрудника. Итак, я предоставляю свои файлы кода.
Ниже приведен мой код:
Класс сотрудников:

Код: Выделить всё

public class RWEmp {
private int id;
private String strName;
private String strContactNum;
private String strDateOfJoining;
private String strDesignation;
public RWEmp(){
}
// getter/setters
}
Класс клиента:

Код: Выделить всё

public class RWClient {
private int id;
private String strName;
private RWEmp poc_emp;  // point of contact employee as employee object
public RWClient(){
}
// getter/setters
}

Код: Выделить всё

employee.hbm.xml
является прямым, т. е. не имеет никакой связи.
Но у клиента есть связь с объектом сотрудника.
client.hbm.xml: сохраняющийся класс:

Код: Выделить всё

public class PersistEntities {

public void clientPersist() {
Session session=Factory.getSession();
Transaction tr=session.beginTransaction();

RWEmp rwEmp =new RWEmp();
rwEmp.setId(2); // this will come from jsp page  value. I am doubtful of this, explained below in question.

RWClient rwClient1=new RWClient("wso2",rwEmp);

session.save(rwClient1);
session.flush();
tr.commit();
session.close();
}
}
Здесь я не уверен, верен ли этот план или нет.
Могу ли я установить идентификатор сотрудника, который будет получен из моя клиентская страница JSP (из поля ). Я в замешательстве, потому что здесь я устанавливаю только идентификатор сотрудника, который должен уже существовать, чтобы быть действительным внешним ключом клиента. Но нет никаких проверок на предмет того, существует ли уже этот идентификатор сотрудника или нет. Объект «Сотрудник» обязательно будет сохранен (из «employee.jsp») перед объектом «клиент».
Правильно ли я делаю?

Подробнее здесь: https://stackoverflow.com/questions/355 ... -hibernate
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»