Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Seam @Anotasi transaksional tidak berfungsi?

Saya tidak terbiasa dengan cara kerja Seam jadi mohon maaf sebelumnya jika jawaban ini tidak berlaku.

Saya perhatikan bahwa metodenya adalah @Transactional protected . Ini menyiratkan kepada saya bahwa itu dipanggil dengan metode internal lain.

Dengan AOP Spring, Anda menandai publik metode dengan @Transactional yang dibungkus dan diganti dengan proxy transaksi. Saat kelas eksternal memanggil public metode, itu memanggil proxy yang membentuk transaksi. Jika kelas eksternal memanggil public lain metode yang bukan ditandai dengan @Transactional yang kemudian memanggil metode internal yaitu, tidak akan ada transaksi yang dibuat karena proxy tidak dipanggil sama sekali.

Di Musim Semi, bahkan jika Anda mengubah doWork() metode untuk menjadi publik, masalah yang sama akan terjadi. Tidak ada transaksi karena objek proxy tidak dipanggil. Panggilan metode yang dilakukan di dalam kelas tidak melakukan panggilan ke objek proxy.

Pembacaan cepat beberapa dokumentasi tampaknya menunjukkan bahwa, seperti Spring AOP, Seam menggunakan proksi CGLib . Pertanyaannya adalah apakah ia dapat mem-proxy semua metode - bahkan jika mereka dipanggil dari dalam objek yang diproksi. Maaf membuang waktu Anda jika jawaban ini tidak berlaku.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Membuat tabel ini di oracle 10g

  2. Menangani ExecuteScalar() saat tidak ada hasil yang dikembalikan

  3. Jquery di apex 4 Klik bantuan acara

  4. Bagaimana cara mengekspor hasil kueri ke csv di Oracle SQL Developer?

  5. Bagaimana mengkonversi CLOB ke BLOB di Oracle?