解决方案 »

  1.   

    用StringBuilder拼装吧。  最后final String sql = sb.toString(); 传到匿名类里面就行了。 
    如果上面是字符串+=这样的话,只能另外定义一个final String fSql = sql; 这样把fSql传进去
      

  2.   

     谢谢楼上的回复,原来用的是mybatis,sql想怎么写就怎么写。现在的项目用的是hibernate,要写一些复杂的sql(case when 语句之类的),hibernate不知道怎么弄,一时烧坏了脑袋,纠结这里咋还有final的限制呢,忘了变通。 看来写代码也要相当冷静啊。。