insert into Position (processDate,restrictedFlag,localCcy) select processDate,restrictedFlag,localCcy from Position where processDate=:proDate;这样执行没有问题, 就是把我用processDate查询出来的全部复制并插入数据库, 但是我需求是要对这个日期天数+1再保存, 也就是说我想把select 后面的processDate写死为我计算后的一个date,但是没办法通过设置参数传进去 select :newDate 如果这样写是直接报错的 ,用字符串(select '2012-01-02')又说类型不匹配
又遇到这个问题的么????

解决方案 »

  1.   

    已经在考虑用原生sql了,但是真的没有办法了么
      

  2.   

    hql 目前没有这么高级 吧。。
    还是用sql吧,效率比hql还高些。。
      

  3.   


    用的sql server 2005 原生sql的话很好搞, 关键是用hql比较郁闷, 其实也不复杂, 就是我那个processDate我要在代码里面计算好一个日期, 然后查询出来的记录全部按这个日期保存, 但是我怎么都传不进去 , 因为在select 后面 如果用 :pDate传值的话, hibernate 直接就报错了
      

  4.   


    用的sql server 2005 原生sql的话很好搞, 关键是用hql比较郁闷, 其实也不复杂, 就是我那个processDate我要在代码里面计算好一个日期, 然后查询出来的记录全部按这个日期保存, 但是我怎么都传不进去 , 因为在select 后面 如果用 :pDate传值的话, hibernate 直接就报错了select processDate,restrictedFlag,localCcy from Position where processDate=?", new Date('日期+1')} ,这样不行?
      

  5.   


    用的sql server 2005 原生sql的话很好搞, 关键是用hql比较郁闷, 其实也不复杂, 就是我那个processDate我要在代码里面计算好一个日期, 然后查询出来的记录全部按这个日期保存, 但是我怎么都传不进去 , 因为在select 后面 如果用 :pDate传值的话, hibernate 直接就报错了select processDate,restrictedFlag,localCcy from Position where processDate=?", new Date('日期+1')} ,这样不行?
    什么意思?