質問編集履歴
7
タグ追加
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|
6
Claimテーブルの子孫テーブルも全て2倍になっていることを追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -76,6 +76,12 @@
|
|
76
76
|
|
77
77
|
|
78
78
|
|
79
|
+
また、Claimテーブルだけでなく、その子孫テーブル全てのレコードが2倍になっています。
|
80
|
+
|
81
|
+
全て、Claimテーブルと同じく主キー以外同じレコードが2件ずつあります。
|
82
|
+
|
83
|
+
|
84
|
+
|
79
85
|
単一テーブルに対して動的クエリで検索した場合は、
|
80
86
|
|
81
87
|
正しく検索出来たので、結合されたテーブルに対して処理したことが原因だと思っています。
|
5
補足追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -590,7 +590,7 @@
|
|
590
590
|
|
591
591
|
|
592
592
|
|
593
|
-
#### 実行されたSQL
|
593
|
+
#### JPAで実行されたSQL
|
594
594
|
|
595
595
|
SQLはSELECT文しか実行されていません。
|
596
596
|
|
@@ -713,3 +713,13 @@
|
|
713
713
|
}
|
714
714
|
|
715
715
|
```
|
716
|
+
|
717
|
+
|
718
|
+
|
719
|
+
また、関係ないと思いますが、
|
720
|
+
|
721
|
+
エンティティクラスでfetch = FetchType.LAZYとすると、
|
722
|
+
|
723
|
+
検索時にLazyInitializationExceptionが発生します。
|
724
|
+
|
725
|
+
本題とはずれますが、これについてもご存じの方がいれば教えて下さい。
|
4
テストデータ追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -368,7 +368,7 @@
|
|
368
368
|
|
369
369
|
|
370
370
|
|
371
|
-
サービスクラス
|
371
|
+
#### サービスクラス
|
372
372
|
|
373
373
|
```Java
|
374
374
|
|
@@ -516,6 +516,78 @@
|
|
516
516
|
|
517
517
|
```
|
518
518
|
|
519
|
+
#### テストデータ(scripts = "classpath:/sql/data.sql")
|
520
|
+
|
521
|
+
```sql
|
522
|
+
|
523
|
+
INSERT INTO CLAIM
|
524
|
+
|
525
|
+
(CLAIM_NUMBER, INSURED_NAME, CONTRACTOR_NAME, DEPARTMENT_IN_CHARGE, BASE_IN_CHARGE, INSURANCE_TYPE, UPDATE_DATE, ACCIDENT_DATE)
|
526
|
+
|
527
|
+
VALUES
|
528
|
+
|
529
|
+
('12345678910', '鈴木一郎', '山田次郎', '第一部署', '東京本社', 'スポ協', '2020-07-25T12:00:00.000Z', '2020-07-25T12:00:00.000Z');
|
530
|
+
|
531
|
+
INSERT INTO FRAUD_SCORE_HISTORY
|
532
|
+
|
533
|
+
(SCORING_DATE, CLAIM_CATEGORY, CLAIM_ID)
|
534
|
+
|
535
|
+
VALUES
|
536
|
+
|
537
|
+
('2020-06-25T12:00:00.000Z', '低', 1),
|
538
|
+
|
539
|
+
('2020-07-25T12:00:00.000Z', '中', 1);
|
540
|
+
|
541
|
+
|
542
|
+
|
543
|
+
INSERT INTO FRAUD_SCORE_DETAILS
|
544
|
+
|
545
|
+
(MODEL_CATEGORY_NAME, RANK, SCORE, FRAUD_SCORE_HISTORY_ID)
|
546
|
+
|
547
|
+
VALUES
|
548
|
+
|
549
|
+
('特殊事案モデル', 'Low', 30, 1),
|
550
|
+
|
551
|
+
('NC/PDモデル', 'Low', 30, 1),
|
552
|
+
|
553
|
+
('特殊事案モデル', 'Middle', 50, 2),
|
554
|
+
|
555
|
+
('NC/PDモデル', 'Middle', 50, 2);
|
556
|
+
|
557
|
+
|
558
|
+
|
559
|
+
INSERT INTO REASONS
|
560
|
+
|
561
|
+
(RANK, SCORE, DESCRIPTION, FEATURE_DESCRIPTION, FRAUD_SCORE_DETAIL_ID)
|
562
|
+
|
563
|
+
VALUES
|
564
|
+
|
565
|
+
('High', 50, '特徴量1', '特徴量1の説明', 1),
|
566
|
+
|
567
|
+
('Middle', 10, '特徴量2', '特徴量2の説明', 1),
|
568
|
+
|
569
|
+
('Low', -30, '特徴量3', '特徴量3の説明', 1),
|
570
|
+
|
571
|
+
('High', 50, '特徴量1', '特徴量1の説明', 2),
|
572
|
+
|
573
|
+
('Middle', 10, '特徴量2', '特徴量2の説明', 2),
|
574
|
+
|
575
|
+
('Low', -30, '特徴量3', '特徴量3の説明', 2),
|
576
|
+
|
577
|
+
('High', 70, '特徴量1', '特徴量1の説明', 3),
|
578
|
+
|
579
|
+
('Middle', 10, '特徴量2', '特徴量2の説明', 3),
|
580
|
+
|
581
|
+
('Low', -30, '特徴量3', '特徴量3の説明', 3),
|
582
|
+
|
583
|
+
('High', 70, '特徴量1', '特徴量1の説明', 4),
|
584
|
+
|
585
|
+
('Middle', 10, '特徴量2', '特徴量2の説明', 4),
|
586
|
+
|
587
|
+
('Low', -30, '特徴量3', '特徴量3の説明', 4);
|
588
|
+
|
589
|
+
```
|
590
|
+
|
519
591
|
|
520
592
|
|
521
593
|
#### 実行されたSQL
|
3
ログについて修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -518,13 +518,7 @@
|
|
518
518
|
|
519
519
|
|
520
520
|
|
521
|
-
#### 実行
|
521
|
+
#### 実行されたSQL
|
522
|
-
|
523
|
-
量が多すぎてペースト出来ませんでした。
|
524
|
-
|
525
|
-
必要でしたらGitHubなどに上げます。
|
526
|
-
|
527
|
-
|
528
522
|
|
529
523
|
SQLはSELECT文しか実行されていません。
|
530
524
|
|
@@ -536,6 +530,12 @@
|
|
536
530
|
|
537
531
|
|
538
532
|
|
533
|
+
全量はGitHubに上げました。
|
534
|
+
|
535
|
+
[実行されたSQL](https://github.com/uekiGityuto/log)
|
536
|
+
|
537
|
+
|
538
|
+
|
539
539
|
#### その他試したこと
|
540
540
|
|
541
541
|
動的クエリの作成方法が悪いのかと思い、以下を参考に他の方法でも試しました。
|
2
ログについて修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -518,9 +518,21 @@
|
|
518
518
|
|
519
519
|
|
520
520
|
|
521
|
-
#### 実行時のログ
|
521
|
+
#### 実行時のログ・実行したSQL
|
522
|
+
|
522
|
-
|
523
|
+
量が多すぎてペースト出来ませんでした。
|
524
|
+
|
523
|
-
|
525
|
+
必要でしたらGitHubなどに上げます。
|
526
|
+
|
527
|
+
|
528
|
+
|
529
|
+
SQLはSELECT文しか実行されていません。
|
530
|
+
|
531
|
+
SQLの実行文字数は1回目よりも2回目の方が2倍以上多くなっています。
|
532
|
+
|
533
|
+
1回目のメソッド実行時は600文字程度。
|
534
|
+
|
535
|
+
2回目のメソッド実行時は1800文字程度。
|
524
536
|
|
525
537
|
|
526
538
|
|
1
誤字修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -62,7 +62,7 @@
|
|
62
62
|
|
63
63
|
また、同一メソッド内で2回検索処理をすると、2回とも1レコードだけ取得出来ます。
|
64
64
|
|
65
|
-
さらに、1回目のメソッド終了後
|
65
|
+
さらに、1回目のメソッド終了後も増えません。
|
66
66
|
|
67
67
|
(1メソッド実行後にDBを直接見ると1レコードしかありませんでした)
|
68
68
|
|
@@ -88,9 +88,9 @@
|
|
88
88
|
|
89
89
|
# コード
|
90
90
|
|
91
|
-
|
91
|
+
量が多いので一部省略します。
|
92
|
-
|
92
|
+
|
93
|
-
なお、動的クエリは以下を参考に実装し
|
93
|
+
なお、動的クエリは以下を参考に実装しました。
|
94
94
|
|
95
95
|
[[JPA] DB検索時の条件を動的に設定する](https://qiita.com/ksh-fthr/items/44ecc0550a77f4280ea7)
|
96
96
|
|