回答編集履歴
2
追記
test
CHANGED
@@ -19,3 +19,5 @@
|
|
19
19
|
private String subCategoryName;
|
20
20
|
}
|
21
21
|
```
|
22
|
+
|
23
|
+
もしかしたら `final` フィールドが無ければ `@Data` の内包する `@RequiredArgsConstructor` でデフォルトコンストラクタが作られて、 `@NoArgsConstructor` は要らない可能性…
|
1
マークダウン等追加
test
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
>java.lang.NoSuchMethodException: com.example.jrOrder.entity.product.<init>()
|
1
|
+
>`java.lang.NoSuchMethodException: com.example.jrOrder.entity.product.<init>()`
|
2
2
|
|
3
3
|
コードが何をしようとしているかはともかく、エラーメッセージを見る限り『 product クラスにデフォルトコンストラクタ (引数が一つも無いコンストラクタ) が無い』と言われています。
|
4
4
|
|
5
|
-
実際提示されている product クラスには定義されていません。ですので
|
5
|
+
実際提示されている product クラスには定義されていません。ですのでデフォルトコンストラクタを定義するか、 lombok の `@NoArgsConstructor` アノーテーションが使えるでしょう。
|
6
6
|
|
7
|
-
また、デフォルトコンストラクタを定義した場合、 product クラスの各フィールドが final になっていると、恐らくエラー発生元がやろうとしているであろう『デフォルトコンストラクタでオブジェクトを生成した後に各フィールドに値を設定する』ことが出来ませんので、 final を外す必要もあるでしょう。
|
7
|
+
また、デフォルトコンストラクタを定義した場合、 product クラスの各フィールドが `final` になっていると、恐らくエラー発生元がやろうとしているであろう『デフォルトコンストラクタでオブジェクトを生成した後に各フィールドに値を設定する』ことが出来ませんので、 `final` を外す必要もあるでしょう。
|
8
8
|
|
9
9
|
つまり product クラスの定義を以下のようにすることになると思います。
|
10
10
|
**※実行環境がありませんので動作確認はしていません。**
|