Мой способ кодирования заканчивается несоответствием типов, так как я использую JSP для присвоения значения.( Редактировать : Несоответствие типов при applicant_id
)
Вариант использования прост: При отображении на экране «Пригласить заявителя» пользователь должен иметь возможность выбрать время и дату иотправить форму, в которой заявителю будет назначено установленное время, дата и наоборот.
Главный контролер
@RequestMapping("/manageApplicant/invite")
public String inviteScreen(@RequestParam(value="id") int id, Model theModel) {
theModel.addAttribute("interview", new Interview());
Applicant applicants = mainService.getSpecificApplicant(id);
theModel.addAttribute("applicants", applicants);
return "invite-applicant";
}
ИнтервьюОбъявление переменной класса
@OneToOne(cascade=CascadeType.PERSIST)
@JoinColumn(name="applicant_id", nullable=false)
private Applicant applicant_id;
Объявление переменной класса заявителя
@OneToOne(cascade=CascadeType.PERSIST)
@JoinColumn(name="interview_id")
private Interview interview_id;
.JSP
<form:form action="/management/recruitment/setInterview" modelAttribute="interview">
<form:hidden path="applicant_id" value="${applicants}"/>
Date<form:input type="DATE" path="interviewDate"/><br>
Time<form:input type="TIME" path="interviewTime"/>
<br>
<input type="submit" value="Invite for interview" id="submitButton" />
</form:form>
MySQL TABLES
CREATE TABLE interviews(
id INT auto_increment NOT NULL, PRIMARY KEY(id),
applicant_id int(11),
interviewDate date,
interviewTime time,
CONSTRAINT `FK_Applicant` FOREIGN KEY (`applicant_id`)
REFERENCES `applicant` (`id`)
);
ALTER TABLE applicant ADD
CONSTRAINT `interviews_ibfk_1` FOREIGN KEY (`interview_id`)
REFERENCES `interviews` (`id`);
Интервью Реализация DAO
public void saveInterview(Interview theInterview) {
// get current session
Session currentSession = sessionFactory.getCurrentSession();
// save interview
currentSession.save(theInterview);
}