如何在不知道它的id的情况下更新Hibernate Criteria中的对象

时间:2014-03-17 13:08:53

标签: java hibernate criteria nhibernate-criteria

我想在Criteria Hibernate中翻译这个查询:

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

我理解在知道id的情况下更新对象的方法,但是我无法弄清楚如何使用我在这里这样做。

1 个答案:

答案 0 :(得分:0)

您可以使用Example

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();
}