参考:Hibernate Session的saveOrUpdate()方法
Hibernate Basics - 3 ways to delete an entity from the datastore
以下方法并不起效:
private boolean deleteById(Class<?> type, Serializable id) { Object persistentInstance = session.load(type, id); if (persistentInstance != null) { session.delete(persistentInstance); return true; } return false; }
因为load后的entity总不为空,load方法总是假定其存在(见 load和get ),如果是想可以区分出该id是否存在,应该将load改成get。