Sayangnya, Hibernate tidak memiliki dukungan untuk batasan yang ditangguhkan.https://hibernate.atlassian.net/ jelajahi/HHH-2248
Anda dapat mencoba bermain dengan metode entityManager.flush(), misalkan Anda memiliki Instrumen dengan nama inst1 dan inst2 :
Instrument inst1 = entityManager.find(Instrument.class, 1);
// change name of first Instrument to some random one
inst1.setName("inst3");
entityManager.flush();
Instrument inst2 = entityManager.find(Instrument.class, 2);
inst2.setName("inst1");
entityManager.flush();
inst1.setName("inst2");
Atau Anda bisa mendapatkan entitas dari DB, menghapusnya dari DB, melakukan flush dan mempertahankan entitas yang diperbarui. Dengan cara ini Anda tidak perlu mengarang nama ketiga.
Tidak yakin tentang efek kinerja dari solusi tersebut, Anda harus mencari tahu sendiri.