Pikirkan Hibernate sebagai cache besar yang bisa gunakan DB sebagai "penyimpanan" di mana ia meletakkan hal-hal yang tidak sesuai lagi dengan cache. Hibernate tidak akan menyiram semuanya ke DB saat Anda mengubahnya, itu akan menunggu. Kemungkinannya adalah Anda dapat mengubah lebih dari satu bidang dalam suatu objek.
Jadi, Anda perlu menghapus sesi (em.flush()
), atau Anda harus menjalankan kueri, atau Anda harus melakukan transaksi saat ini (bukan opsi yang mudah saat menggunakan Spring).