Depends. You can set a class mapping to perform a "select-before=update," which in a highly concurrent environment is advantageous. It is very possible, for example, that another user in another application could have deleted the object in question. If the delete occurs outside the current Hibernate session, there's no way Hibernate can know that the delete occurs. So, Hibernate must do a check to verify that the object exists before it issues the delete.
Take a look at the select-before-update documentation in:
http://www.hibernate.org/hib_docs/refer ... tion-class
Also, your object could be in a detached state. If that's the case, I believe deleting the object will cause its persistent state to be updated from the database (translation: a select to the DB). I'm not 100% on this, so experimentation may be in order. Check out section 4.2.6 in Hibernate in Action for more information. If this is the case, then examine why your object is detached in the first place. Did you intend for the object to be detached? Could you use a ThreadLocal/Open Session In View pattern to keep the sesion open, etc.