У меня есть следующий сценарий
Результаты запроса:
student1 subject1 marks1
student2 subject1 marks3
...
...
Код API выглядит следующим образом
StudentObj getStudentInfo() {
List<StudentObj> stObj = StudentDAO.getRows(); //
for (StudentObj s : stObj) {
//What should I write here??
}
}
Я хочу иметь возможность возвращать строки student1, отдельно student2 в параллельных вызовах моего API.
Я использую Hibernate (к которому я относительно новичок) поверх базы данных Oracle.
Я думал о том, как заблокировать строку student1 и вернуть эту строку, но я не очень разбираюсь в блокировке в hibernate.
На стороне клиента
time t1: getStudentInfo() (work on student1) | getStudentInfo() //Call concurrently (work on student2)
time t1+10sec: getStudentInfo (work on student3)
time t1+20sec: getStudentInfo (work on student4)
Первый звонок должен быть в состоянии работать со студентом1, а второй параллельный звонок должен уметь работать со студентом2.
Редактировать: внесены изменения на основе комментариев. (Я не могу отредактировать запрос, и клиенты getStudentInfo не могут передать идентификатор, если это помогает).