今天用hibernate,结果报了异常,找了一段时间才发现原因,特此记录
Integer beginUid = 0;
Integer endUid = 99;
Object[] params = new Object[] { beginUid, endUid };
getHibernateTemplate().bulkUpdate("delete from User where userId between ? and ? ", params);
org.springframework.jdbc.BadSqlGrammarException: Hibernate operation: could not execute update query; bad SQL grammar [delete from user where user_id between ? and ?]; nested exception is java.sql.SQLException: No value specified for parameter 1
Caused by: java.sql.SQLException: No value specified for parameter 1
明明已经传了参数,异常信息还是显示没有传参数。
几经周折,找到原因了
user_id字段在hbm文件中是Long类型的,而我传的参数是整型的。
不过这个异常信息给的也不准确,根本原因需要看hibernate代码