Hello. Trying to update:

public void updateSubcategory(Subcategory subcategory) { if(subcategory == null) return; Query query = getSession().createQuery("update Subcategory set name = :name where id = :id"); query.setParameter("name", subcategory.getName()); query.setParameter("id", subcategory.getId()); int result = query.executeUpdate(); } 

Swears at the string: Query query = getSession().createQuery("update Subcategory set name = :name where id = :id");

 java.lang.IllegalArgumentException: node to traverse cannot be null! 

I do it in the same way as delete, everything works with delete, and with update some kind of trouble ...

    1 answer 1

    Try this:

     String sql= String.format("UPDATE Subcategory set name =%s where id = %s", subcategory.getName(), subcategory.getId()); Query query= session.createSQLQuery(sql);