在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:
那我应该怎么写呢?
解决方案 »
- sql语句中的like语句中%和*的区别?
- 关 于 索 引 的 优 化
- 请高手指点~
- 在oracle中写一个函数怎么用它呢
- 有关rman进行数据备份和恢复的问题
- 请教:数据库服务器正常工作时,各系统资源大致的占用情况?
- 购买oracle正版的时候应该注意什么问题呢?怎么和集成商谈?
- 一个数据库导入的问题,请进!
- oracle9i连接时提示'无监听',请问如何解决?
- 关于oracle left join的效率问题 求指教!
- 关于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包装后应该都是一样的.....我想开发方便,可以了吧!!!