Hibernate does not issue a choice to see if the object is unique with save() . In fact, Hibernate doesn't even throw out an insert when you call save() . This happens when you flush() or commit a transaction. You will need to find out what they are intended for and why to initiate them. To reduce it, you can write a quick test, for example
Session session = openSession(); Transaction tx = session.beginTransaction(); session.save(myObject); tx.commit();
and see what expressions are created.
source share