Alasan mengapa Hibernate menyediakan metode persist () yang hampir persis mirip dengan fungsi save () adalah untuk mengurus kebiasaan penggunaan JPA. Di sisi lain, ada perbedaan lain antara metode save () dan persist (): saat menggunakan metode save () untuk menyimpan objek persisten, metode ini mengembalikan nilai atribut pengidentifikasi dari objek persisten (yaitu, nilai kunci utama yang sesuai dengan catatan); Tetapi saat menggunakan metode persist () untuk menyimpan objek persisten, metode ini tidak memiliki nilai pengembalian. Karena metode save () perlu mengembalikan atribut identitas objek persisten segera, eksekusi program Simpan () akan segera memasukkan data yang sesuai dengan objek persisten ke dalam database; Sementara persist () memastikan bahwa ketika disebut di luar sesuatu, itu tidak segera dikonversi menjadi pernyataan insert. Fungsi ini sangat berguna, terutama ketika kami merangkum proses sesi yang panjang, metode SERV () sangat penting.
Perbedaan yang jelas diberikan di sini. (Anda dapat mengikuti SRC untuk dilihat. Meskipun langkah implementasinya serupa, masih ada perbedaan yang halus)
Perbedaan konten utama:
1. Seg bertahan dalam instance sementara, tetapi tidak menjamin bahwa pengidentifikasi (atribut yang sesuai dengan kunci primer pengidentifikasi) akan segera diisi dalam instance persisten, dan pengisian pengidentifikasi dapat ditunda sampai flush.
2. Simpan, tetap menjadi pengidentifikasi untuk contoh sementara, dan menghasilkannya tepat waktu. Itu perlu mengembalikan pengidentifikasi, jadi itu akan segera menjalankan insert SQL
Penjelasan Netizen Lainnya:
Simpan metode
Saat menyimpan objek yang bertahan, metode ini mengembalikan nilai atribut pengidentifikasi (mis., Kunci utama) dari objek yang bertahan.
Metode ini akan segera memasukkan data yang sesuai dari objek persisten ke dalam database.
metode bertahan
Metode ini tidak mengembalikan nilai.
Pastikan bahwa ketika dipanggil di luar transaksi, itu tidak segera dikonversi ke pernyataan insert.
Cocok untuk aliran sesi panjang.