Так что я все еще пытаюсь познакомиться с API Hibernate Criteria, и у меня есть этот фрагмент кода Java, который я хотел бы получить разъяснения.
Criteria c = super.getSession().createCriteria(PpNnCtDetail.class);
c.add(Restrictions.between("commencementDate", fromDate, toDate);
Эта часть, я понимаю, чтопроисходит - если выразить это с точки зрения SQL, это будет что-то вроде - поправьте меня, если я ошибаюсь,
SELECT * FROM PpNnCtDetail WHERE commencementDate >= fromDate AND commencementDate <= toDate;
Проблема заключается в коде, следующем за двумя строками выше.
c = c.createCriteria("nnContractTbl");
c.createCriteria("progCategory").add(Restrictions.in("progCategoryId", allProgCat));
c.createCriteria("acadOrgTbl");
c.createCriteria("serviceType");
c.createCriteria("campusTbl");
return c.list();
Что пытается сделать первая строка?Это назначение обратно в c избыточно?
На самом деле, чего пытаются достичь строки c.createCriteria?Как будет выглядеть эквивалентный SQL-запрос?Что еще более важно, что вернет c.list ()?