SQL使用限制和预测的标准

时间:2014-05-21 16:52:06

标签: hibernate criteria

任何人都可以帮助我用hibernate标准编写下面的SQL。

Select * 
rom cart c
where c.sno = '00001234a'
  and c.createdtime = (
    select max(c.createdtime)
    from cart c
    where c.sno='00001234a'
  )

我尝试了下面的代码段 但它返回timestamp(createdtime)而不是购物车对象。

Criteria cr=session.createCriteria(cart.class,'ct');
cr.add(Restrictions.eq('ct.sno','00001234a'));
cr.setProjection(Projection.max(ct.createdtime));
List li=cr.list();

1 个答案:

答案 0 :(得分:0)

提供的代码示例与

相同
  

从购物车c中选择max(c.createdtime),其中c.sno ='00001234a'

要处理您提供的查询,您可以使用两个请求,并根据第一个查询的结果构建“和c.createdtime”限制。 或者使用createQuery方法构建更复杂的查询。