Anda tidak boleh menggunakan Session
dan Transaction
sebagai anggota kelas dao Anda seperti itu. Session/EntityManager
seharusnya dicakup oleh unit kerja, mereka tidak aman.
Dalam kondisi Anda saat ini, karena Spring DI membuat kacang sebagai singleton, jika dua utas menggunakan dao pada saat yang sama, yang kedua akan menimpa keduanya Session
dan Transaction
anggota itulah sebabnya saya kira Anda mendapatkan IllegalStateExcepion.
Anda harus membuatnya menjadi cakupan utas dengan menggunakannya sebagai variabel dalam metode atau, jika Anda tidak memerlukan metode khusus hibernasi, Anda dapat menggunakan konfigurasi JPA lengkap di Musim Semi dan menggunakan @PersistenceContext/@PersistenceUnit
untuk membiarkan kerangka kerja menangani masalah itu.