假设我有一个表人员,我想要计算那些"birthDate"不为空且他们是学生的人.假设我有两列:
birthDate Date (can be null)
isStudent boolean (default: false)
Run Code Online (Sandbox Code Playgroud)
我怎么能用hibernate做这个..?
Law*_*nce 36
Criteria crit = session.createCriteria(Person.class);
crit.add( Restrictions.isNotNull("birthDate"));
crit.add( Restrictions.eq("isStudent", true));
crit.setProjection(Projections.rowCount());
Integer count = (Integer)crit.uniqueResult();
Run Code Online (Sandbox Code Playgroud)
Nim*_*sky 14
Criteria crit = session.createCriteria(Person.class);
crit.add( Restrictions.isNotNull("birthDate"));
crit.add( Restrictions.eq("isStudent", true));
List<Person> students = crit.list();
Integer count = students.size();
Run Code Online (Sandbox Code Playgroud)
或者如果只想要一个计数值,并且没有返回列表:
Criteria crit = session.createCriteria(Person.class);
crit.setProjection(Projections.rowCount());
crit.add( Restrictions.isNotNull("birthDate"));
crit.add( Restrictions.eq("isStudent", true));
return (Long) crit.uniqueResult();
Run Code Online (Sandbox Code Playgroud)