public List listSql(String sql, Object... args){
Query q = getSession().createSQLQuery(sql);
for(int i = 0;i<args.length;i++){
System.out.println(args[i]);
q.setParameter(i, args[i]);
}
return q.list();
}

解决方案 »

  1.   

    可以使用nvl()函數,如下SQL語句:
    create table test( 
    test varchar2[20],
    test1 varchar2[20]
    );insert into test values(‘1’,‘2’);
    insert into test values(‘2’,‘3’);
    insert into test values(‘3’,‘4’);
    insert into test values(‘4’,‘5’);
    insert into test values(‘5’,‘6’);
    insert into test values(‘6’,‘7’);insert into test(test) values('a');
    select nvl(null,test) , nvl(test2,'this is null') from test; 
    結果:1 2
    2 3
    3 4
    4 5
    5 6
    6 7
    a this is null
      

  2.   


    我的sql语句在pl/sql dev 中可以成功运行,现在是在java端 传入null值时,会报类型错误