+1 امتیاز
قبل در برنامه نویسی توسط (45 امتیاز)
ویرایش شده قبل توسط
@Transaction در JPA به چه مفهومی است و چه استفاده ای دارد ؟

1 پاسخ

0 امتیاز
قبل توسط (1.1هزار امتیاز)
اگر منظورتون انوتیشن @Transactional است. این انوتیشن بر روی یک متد یا کلاس (تمام متدهای آن کلاس را تحت تاثیر قرار می دهد) قرار می گیرد و بجای اینکه شما بصورت دستی خودتون transaction باز کنید و بعد commit کنید، هر متدی که این انوتیشن را دارد بصورت اتوماتیک در ابتدای آن متد transaction باز شده و در انتهای آن commit می شود. البته تنظیمات زیادی برای این انوتیشن وجود دارد مثل تنظیمات مربوط به rollback یا propagation و ...
قبل توسط (45 امتیاز)
ببخشید اگر این انوتیشن گذاشته نشه مگه transaction باز و commit نمیشه ؟
اگر لطف کنید راهنمایی بفرمایید ممنون میشم .
قبل توسط (1.1هزار امتیاز)
در حالت عادی خیر. مگر اینکه دستی باز یا بسته بشه و یا اینکه مثلا در spring از aop استفاده کرده باشید.
قبل توسط (45 امتیاز)
ببخشید فک کنم یکمی گیج شدم ، وقتی از Spring Boot استفاده میکنیم و تو لایه سرویس repository خودمونو Autowire میکنیم ، آیا لازمه باز بالای متد یا کلاس  @Transaction استفاده کنیم ؟
قبل توسط (1.1هزار امتیاز)
برای read از database شما نیازی به transaction ندارید و همچنین یکسری از متدهای repository های Spring Data JPA که repository شما از آن extends کرده است بصورت پیشفرض transactional هستند بنابراین شما در مواردی لایه سرویس که میخواهید چند کار یا با هم اجرا شوند یا اصلا اجرا نشوند نیاز به transaction دارید یا اینکه update و add بر روی دیتابیس انجام می دهید.
قبل توسط (45 امتیاز)
الان خیلی بهتر شد ، ممنون از وقتی که گذاشتین.

سوالات مشابه

0 امتیاز
3 پاسخ 681 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط یوری (426 امتیاز)
+1 امتیاز
3 پاسخ 1.3هزار بازدید
0 امتیاز
1 پاسخ 474 بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط kashi (7.2هزار امتیاز)
0 امتیاز
1 پاسخ 354 بازدید
+5 امتیاز
1 پاسخ 4.1هزار بازدید
0 امتیاز
0 پاسخ 254 بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط bahrambb (308 امتیاز)
+1 امتیاز
1 پاسخ 396 بازدید
0 امتیاز
2 پاسخ 1.5هزار بازدید
...