質問編集履歴
5
_
title
CHANGED
File without changes
|
body
CHANGED
@@ -10,6 +10,7 @@
|
|
10
10
|
|
11
11
|
いろんな記事を見て、RuntimeExceptionを明示的に起こしてロールバックさせようとしているのですが、DBの値は更新されていました。
|
12
12
|
参考:[https://www.qoosky.io/techs/400f6b6f09](https://www.qoosky.io/techs/400f6b6f09)
|
13
|
+
[springbootのトランザクション管理について](https://teratail.com/questions/120515)
|
13
14
|
|
14
15
|
@Transactionalは実際にうまくいくのでしょうか?また他のやり方で実装した方がいいのでしょうか?オススメのやり方があれば教えていただけますでしょうか?
|
15
16
|
|
4
・
title
CHANGED
File without changes
|
body
CHANGED
@@ -9,6 +9,7 @@
|
|
9
9
|
serviceクラス内のメソッドに@Transactionalを設定し、controllerクラスから@AutowiredでserviceクラスをDIしています。またメソッドはpublicです。
|
10
10
|
|
11
11
|
いろんな記事を見て、RuntimeExceptionを明示的に起こしてロールバックさせようとしているのですが、DBの値は更新されていました。
|
12
|
+
参考:[https://www.qoosky.io/techs/400f6b6f09](https://www.qoosky.io/techs/400f6b6f09)
|
12
13
|
|
13
14
|
@Transactionalは実際にうまくいくのでしょうか?また他のやり方で実装した方がいいのでしょうか?オススメのやり方があれば教えていただけますでしょうか?
|
14
15
|
|
3
・
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,9 +6,9 @@
|
|
6
6
|
経緯として、
|
7
7
|
2つのテーブルを同一メソッド内で更新する処理があります。
|
8
8
|
それを@Transactionalを使ってトランザクション処理を実装しようとしていました。
|
9
|
-
serviceクラス内のメソッドに@Transactionalを設定し、
|
9
|
+
serviceクラス内のメソッドに@Transactionalを設定し、controllerクラスから@AutowiredでserviceクラスをDIしています。またメソッドはpublicです。
|
10
10
|
|
11
|
-
いろんな記事を見て、
|
11
|
+
いろんな記事を見て、RuntimeExceptionを明示的に起こしてロールバックさせようとしているのですが、DBの値は更新されていました。
|
12
12
|
|
13
13
|
@Transactionalは実際にうまくいくのでしょうか?また他のやり方で実装した方がいいのでしょうか?オススメのやり方があれば教えていただけますでしょうか?
|
14
14
|
|
2
・
title
CHANGED
File without changes
|
body
CHANGED
@@ -16,19 +16,17 @@
|
|
16
16
|
|
17
17
|
```Java
|
18
18
|
@Transactional
|
19
|
-
public void update(
|
19
|
+
public void update(List<Item> iList,Store sDto) {
|
20
|
-
List<Item>
|
20
|
+
List<Item> tempList = new ArrayList<>();
|
21
21
|
|
22
|
-
|
22
|
+
iList.forEach(i ->
|
23
|
-
|
23
|
+
i.setUsedFlag(true);
|
24
24
|
tList.add(t);
|
25
25
|
});
|
26
26
|
|
27
|
-
|
27
|
+
iDao.batchUpdate(tempList);
|
28
|
-
|
29
|
-
|
30
28
|
|
31
|
-
|
29
|
+
sDao.update(sDto);
|
32
30
|
|
33
31
|
throw new RuntimeException();
|
34
32
|
}
|
1
title
CHANGED
File without changes
|
body
CHANGED
@@ -12,4 +12,24 @@
|
|
12
12
|
|
13
13
|
@Transactionalは実際にうまくいくのでしょうか?また他のやり方で実装した方がいいのでしょうか?オススメのやり方があれば教えていただけますでしょうか?
|
14
14
|
|
15
|
-
お願い致します。
|
15
|
+
お願い致します。
|
16
|
+
|
17
|
+
```Java
|
18
|
+
@Transactional
|
19
|
+
public void update(Store uDto, List<Item> hogeList) {
|
20
|
+
List<Item> tList = new ArrayList<>();
|
21
|
+
|
22
|
+
hogeList.forEach(t ->
|
23
|
+
t.setUsed(1);
|
24
|
+
tList.add(t);
|
25
|
+
});
|
26
|
+
|
27
|
+
tDao.batchUpdate(tList);
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
sDao.update(uDto);
|
32
|
+
|
33
|
+
throw new RuntimeException();
|
34
|
+
}
|
35
|
+
```
|