【发布时间】:2011-09-21 09:20:32
【问题描述】:
所以我仍在努力让自己熟悉 Hibernate Criteria API,并且我有这段 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() 会返回什么?
【问题讨论】:
标签: java sql hibernate criteria