在hibernate中我想根据worklistId字段和paydate字段的最大值来得到他的主键:
我在后写的sql:
StringBuffer sb=new StringBuffer("select p1.id from PayAmount as p1 where 1=1 ");
if(worklistId!=null && !"".equals(worklistId)) {
sb.append(" and p1.paydate=(select Max(p.paydate) from PayAmount as p ");
sb.append("and p.worklistId='");
sb.append(worklistId);
sb.append("')");以下是控制台显示的sql:
select p1.id from com.chinantn.oa.payamount.domain.PayAmount as p1 where 1=1 and p1.paydate=(select Max(p.paydate) from com.chinantn.oa.payamount.domain.PayAmount as p and p.worklistId='402880871a9414be011a94168e570004')控制台提示有错误:org.hibernate.QueryException: unexpected token:
那我应该怎么写呢?
我在后写的sql:
StringBuffer sb=new StringBuffer("select p1.id from PayAmount as p1 where 1=1 ");
if(worklistId!=null && !"".equals(worklistId)) {
sb.append(" and p1.paydate=(select Max(p.paydate) from PayAmount as p ");
sb.append("and p.worklistId='");
sb.append(worklistId);
sb.append("')");以下是控制台显示的sql:
select p1.id from com.chinantn.oa.payamount.domain.PayAmount as p1 where 1=1 and p1.paydate=(select Max(p.paydate) from com.chinantn.oa.payamount.domain.PayAmount as p and p.worklistId='402880871a9414be011a94168e570004')控制台提示有错误:org.hibernate.QueryException: unexpected token:
那我应该怎么写呢?
解决方案 »
- 关于mysql的一个对表分区的基本问题,大家进来看看。
- 创建一个过程,但是有编译错误,请请指教
- 问一个问题
- 我的oracle9i启动不起来了。救命啊,在线等~~~!!!
- 一个很难的sql查询,望大家多多帮助
- 问完递归问递推,这次例子比较细
- oracle安装
- 安装了 Oracle9i 后,如何启动IIS的WEB服务器?
- SQL问题:如何提取需要的数据
- 各位大侠,请问Oracle8i中,是不是不支持汉字‘赟’
- 关于oralce函数的写法? select getStr( product_model) from table 1, 返回的是 产口的型号,如(SD1, SG2, SJ3),在线等
- 怎么查看oracle的pl/sql语言哪里出错?
from com.chinantn.oa.payamount.domain.PayAmount as p1
where 1 = 1
and p1.paydate =
(select Max(p.paydate)
from com.chinantn.oa.payamount.domain.PayAmount as p
and p.worklistId = '402880871a9414be011a94168e570004')
多了and
不过sql 语句经过hibernate包装后应该都是一样的.....我想开发方便,可以了吧!!!