как обновить объект в Hibernate Criteria, не зная его id

1

У меня есть этот запрос, который я хотел бы перевести в Criteria Hibernate:

UPDATE Patient SET HourOut = ? WHERE IDQueue = ? AND TicketNumber = ? AND DATE_FORMAT(DATE(LastVisitDate), '%Y-%m-%d') = ?;

Я понимаю способ обновления объекта, когда он известен, но я не могу понять, как это сделать с тем, где я здесь.

Теги:
hibernate
criteria
nhibernate-criteria

1 ответ

0
Лучший ответ

Вы можете использовать пример.

Patient example = new Patient();
example.setLastVisitDate(date);
example.setIDQueue(idq);
example.setTicketNumber(tnbr);

matchesDate = session.createCriteria(Patient.class)
                 .add(Example.create(example)).list();
for(Patient patient : matchesDate){
    Transaction t=session.beginTransaction();
    patient.setHourOut(outH);
    session.saveOrUpdate(patient);
    t.commit();
}
  • 0
    я попробую это сразу, но между тем, я просто хотел бы знать с точки зрения сгенерированного sql в фоновом режиме, чем он отличается от того, если бы я сначала сделал SELECT для объекта на основе lastVisitDate / idQueue / ticketNumber, а затем обновление на возвращенном пациенте?
  • 0
    Я не понимаю Вы имеете в виду разницу между статическими sql-строками и динамически генерируемыми sql?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню