cari

Rumah  >  Soal Jawab  >  teks badan

Isu pemulangan urus niaga musim bunga

Spring things, inject things dalam lapisan servis, lakukan dua operasi sisipan, adakah anda perlu membuang sendiri pengecualian dalam kaedah servis dan kemudian nyatakan rollback? Atau adakah sisipan akan digulung semula tanpa membuang pengecualian jika ia gagal?
Perlaksanaan proksi dao mybatis digunakan di sini Adakah akan ada gesaan atau pengecualian yang dilemparkan apabila sisipan gagal?

漂亮男人漂亮男人2727 hari yang lalu937

membalas semua(4)saya akan balas

  • 怪我咯

    怪我咯2017-06-12 09:26:47

    Gunakan @Transaction(rollbackFor=Throwable.class) anotasi kepada kelas Perkhidmatan atau kaedah tertentu Perlu diingat bahawa anotasi @Transaction hanya menangkap dan melancarkan RuntimeException secara lalai, maksudnya, jika anda membuang Exception, ia tidak akan digulung semula, jadi anda perlu Ingat untuk menambah rollbackFor=Throwable.class untuk menentukan bahawa semua pengecualian akan ditarik balik

    balas
    0
  • 高洛峰

    高洛峰2017-06-12 09:26:47

    Saya bersetuju dengan jawapan @Positive Energy Frontline, dan menambah bahawa jika anda melakukan berbilang operasi dalam satu kaedah, anda perlu mempertimbangkan skop penyebaran transaksi Sudah tentu, lalai adalah penyebaran = Propagation.DIPERLUKAN, yang bermaksud: Jika ada tiada urus niaga buat masa ini, buat transaksi A baharu, jika sudah wujud dalam urus niaga, tambahkannya pada urus niaga ini.

    balas
    0
  • 淡淡烟草味

    淡淡烟草味2017-06-12 09:26:47

    Jika pengecualian kompilasi dilemparkan, bolehkah anda menangkap dan mengendalikannya sendiri Memandangkan anda menggunakan rangka kerja spring dan menangkap serta mengendalikan pengecualian itu sendiri, rangka kerja itu tidak akan membantu anda melancarkan semula transaksi fail konfigurasi spring. Strategi roll bersetuju dengan apa yang dikatakan di tingkat pertama bahawa operasi lalai adalah rollback pengecualian ditambahkan pada lapisan perkhidmatan anda tidak mempunyai transaksi sendiri, jadi tidak perlu mempertimbangkan penyebaran tingkah laku.

    balas
    0
  • 淡淡烟草味

    淡淡烟草味2017-06-12 09:26:47

    Selepas membaca dua jawapan sebelum ini, saya akan menambah sesuatu. Transaksi dalam Spring adalah proksi JDK berasaskan antara muka lalai. Jadi untuk dua kaedah sisipan yang dipanggil dalam lapisan Perkhidmatan anda, jika sisipan juga merupakan kaedah lapisan perkhidmatan, ia mestilah kaedah antara muka Jika kaedah persendirian, kaedah persendirian tidak akan ditarik balik. Juga beri perhatian kepada isu transaksi dalam situasi berbilang benang.

    balas
    0
  • Batalbalas