|
From: Andrea A. <aa...@li...> - 2002-10-20 09:41:32
|
I've found a bug that causes a NPE in the Session.delete(String query)=20
implementation: if you pass a query that return no objects you end up
with an NPE. The incriminated code follows:
SessionImpl.java (line 1178)
public int delete(String query, Object[] values, Type[] types) throws=20
HibernateException, SQLException {
if ( log.isTraceEnabled() ) {
log.trace( "delete: " + query );
if (values.length!=3D0) log.trace( "parameters: " +=20
StringHelper.toString(values) );
}
List list =3D find(query, values, types);
int size =3D list.size();
for ( int i=3D0; i<size; i++ ) delete( list.get(i) );
return size;
}
The list.size() call fails if list is null... should look like:
if(list !=3D null) {
int size =3D list.size();
for ( int i=3D0; i<size; i++ ) delete( list.get(i) );
return size;
} else {
return 0;
}
Bye
Andrea
|