Мои два класса сущностей — это сотрудники и Клиент. Клиент должен иметь столбец идентификатора сотрудника в качестве внешнего ключа в таблице базы данных, т. е. этот клиент обслуживается этим сотрудником.
Теперь есть две страницы 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