質問するログイン新規登録

質問編集履歴

2

rubytomato様のコメント1,2の項目を更新しました。

2019/12/19 00:51

投稿

chocolate_pie
chocolate_pie

スコア26

title CHANGED
File without changes
body CHANGED
@@ -2,10 +2,6 @@
2
2
  Springで、MySQL、JPA、Thymleafを利用した入力フォームからデータを新規登録しようとしたところ、以下のエラーメッセージが出ました。
3
3
  最終的には、フォームから入力された値をDBに登録したいです。
4
4
 
5
- 自分で調べて2つ解決方法を試みましたが、解決しませんでした。
6
- ①カラム名が間違っているので確認する→間違っていない
7
- ②シングルクォーテーションがついてない→Thymleafから値を入れようよとしているので関係ない(?)
8
-
9
5
  ### 発生している問題・エラーメッセージ
10
6
 
11
7
  ```
@@ -23,7 +19,7 @@
23
19
  public class GoalSeq {
24
20
  @Id
25
21
  @Column(name="id")
26
- @GeneratedValue(strategy = GenerationType.IDENTITY)//自動採番
22
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
27
23
  private Integer id;
28
24
 
29
25
  @ManyToOne(targetEntity = UserMaster.class)
@@ -44,9 +40,28 @@
44
40
 
45
41
  @Column(name="year")
46
42
  private String year;
47
-
48
- Meisaiのエンティティ部分内部結合している)
43
+ //Meisaiのエンティティ部分(内部結合しているのでこちらでも記述します
44
+
45
+ @Column(name = "self_mid_cmt")
46
+ private String selfmidcmt;
47
+
48
+ @Column(name = "boss_mid_cmt")
49
+ private String bossmidcmt;
50
+
51
+ @Column(name = "self_end_cmt")
49
- setterとgetter
52
+ private String selfendcmt;
53
+
54
+ @Column(name = "boss_end_cmt")
55
+ private String bossendcmt;
56
+
57
+ @Column(name = "first_rvw_ck")
58
+ private Boolean firstrvwck;
59
+
60
+ @Column(name = "mid_rvw_ck")
61
+ private Boolean midrvwck;
62
+
63
+ @Column(name = "end_rvw_ck")
64
+ private Boolean endrvwck;
50
65
  ```
51
66
  ②Meisai.java
52
67
  ```java
@@ -56,7 +71,7 @@
56
71
 
57
72
  @Id
58
73
  @Column(name = "meisai_id")
59
- @GeneratedValue(strategy = GenerationType.IDENTITY) //自動採番
74
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
60
75
  private Integer meisaiid;
61
76
 
62
77
  @Column(name = "self_mid_cmt")
@@ -110,6 +125,9 @@
110
125
  public GoalSeq findCurrentOne(Integer goalseqid){
111
126
  return repository.findCurrentOne(goalseqid);
112
127
  }
128
+ public GoalSeq save(GoalSeq goalseq) {
129
+ return repository.save(goalseq);
130
+ }
113
131
  }
114
132
  ```
115
133
  ②MeisaiService.java
@@ -122,7 +140,10 @@
122
140
  public Meisai findByGoalSeq(Integer goalseqid ) {
123
141
  return repository.findByGoalSeq(goalseqid );
124
142
  }
143
+ public Meisai save(Meisai meisai) {
144
+ return repository.save(meisai);
125
145
  }
146
+ }
126
147
  ```
127
148
  フォーム
128
149
  ①GoalSeqForm.java
@@ -189,7 +210,6 @@
189
210
  goal.setYear(goalseq.getYear());
190
211
  goal.setUserid(goalseq.getUserid());
191
212
  goal.setGoalid(goalseq.getGoalid());
192
- //getUserid→ユーザマスタ自体を取ってきてる→その中のidを取り出す(ユーザマスタの情報は拾えて来ているので記述を省略しています)
193
213
  goal.setUpdatedby(goalseq.getUserid().getId());
194
214
  goalseqservice.save(goal);
195
215
 
@@ -284,46 +304,8 @@
284
304
  </body>
285
305
  </html>
286
306
  ```
287
- テーブル定義です
288
307
 
289
- ```DDL
290
- CREATE TABLE goals_seq
291
- (
292
- id INT NOT NULL,
293
- user_id INT,
294
- goal_id INT,
295
- goal_title VARCHAR(255),
296
- goal_detail VARCHAR(1000),
297
- goal_weight VARCHAR(10),
298
- updated_at TIMESTAMP(0),
299
- updated_by INT,
300
- delete_flg BIT NOT NULL,
301
- created_at TIMESTAMP(0),
302
- year VARCHAR(4),
303
- CONSTRAINT PRIMARY KEY (id)
304
- );
305
308
 
306
- CREATE TABLE meisai_tbl
307
- (
308
- meisai_id INT NOT NULL,
309
- goalseq_id INT,
310
- self_mid_cmt VARCHAR(1000),
311
- boss_mid_cmt VARCHAR(1000),
312
- self_end_cmt VARCHAR(1000),
313
- boss_end_cmt VARCHAR(1000),
314
- first_rvw_ck BIT NOT NULL,
315
- mid_rvw_ck BIT NOT NULL,
316
- end_rvw_ck BIT NOT NULL,
317
- updated_at TIMESTAMP(0),
318
- updated_by INT,
319
- delete_flg BIT NOT NULL,
320
- created_at TIMESTAMP(0),
321
- CONSTRAINT PRIMARY KEY (meisai_id)
322
- );
323
-
324
- ```
325
-
326
-
327
309
  ### 試したこと
328
310
  ・デバックをして登録ボタンを押したらどこまで値が取得できているか見てみた
329
311
  画面
@@ -338,9 +320,5 @@
338
320
  ×→,selfendcmt
339
321
  ![イメージ説明](ef5025078c534a9fd48b9f078dccc63c.png)
340
322
 
341
- boss_end_cmtの値は受け取れているのになぜエラーでUnknown column 'boss_end_cmt' in 'field list'と出るのかわかりません。
342
323
 
343
- ### 補足情報(FW/ツールのバージョンなど)
324
+ ### 補足情報(FW/ツールのバージョンなど)
344
-
345
-
346
- 初心者なので至らない点があると思いますがよろしくお願いします。

1

DDL追記

2019/12/19 00:51

投稿

chocolate_pie
chocolate_pie

スコア26

title CHANGED
File without changes
body CHANGED
@@ -6,15 +6,11 @@
6
6
  ①カラム名が間違っているので確認する→間違っていない
7
7
  ②シングルクォーテーションがついてない→Thymleafから値を入れようよとしているので関係ない(?)
8
8
 
9
- デバックをして途中まで値を持ってこれていることは分かっています。
10
- 以下、詳細を記します。
11
-
12
9
  ### 発生している問題・エラーメッセージ
13
10
 
14
11
  ```
15
12
  エラーメッセージ
16
- Caused by: java.sql.SQLSyntaxErrorException: Unknown column 'boss_end_cmt' in 'field list'
13
+ Caused by: java.sql.SQLSyntaxErrorException: Unknown column 'boss_end_cmt' in 'field list'
17
- ②Caused by: org.hibernate.exception.SQLGrammarException: could not execute statement
18
14
  ```
19
15
 
20
16
  ### 該当のソースコード
@@ -48,42 +44,9 @@
48
44
 
49
45
  @Column(name="year")
50
46
  private String year;
51
-
52
- @Column(name = "updated_at")
53
- private Timestamp updatedat;
54
-
55
- @Column(name = "updated_by")
56
- private Integer updatedby;
47
+
57
-
58
- @Column(name = "delete_flg")
59
- private Boolean deleteflg;
60
-
61
- @Column(name = "created_at")
62
- private Timestamp createdat;
63
-
64
- //Meisaiのエンティティ部分(内部結合しているのでこちらでも記述します
48
+ Meisaiのエンティティ部分内部結合している)
65
-
66
- @Column(name = "self_mid_cmt")
67
- private String selfmidcmt;
68
-
69
- @Column(name = "boss_mid_cmt")
70
- private String bossmidcmt;
71
-
72
- @Column(name = "self_end_cmt")
73
- private String selfendcmt;
74
-
75
- @Column(name = "boss_end_cmt")
76
- private String bossendcmt;
77
-
78
- @Column(name = "first_rvw_ck")
79
- private Boolean firstrvwck;
80
-
81
- @Column(name = "mid_rvw_ck")
82
- private Boolean midrvwck;
83
-
84
- @Column(name = "end_rvw_ck")
85
- private Boolean endrvwck;
86
- setterとgetterは略します
49
+ setterとgetter
87
50
  ```
88
51
  ②Meisai.java
89
52
  ```java
@@ -116,18 +79,6 @@
116
79
 
117
80
  @Column(name = "end_rvw_ck")
118
81
  private Boolean endrvwck;
119
-
120
- @Column(name = "updated_at")
121
- private Timestamp updatedat;
122
-
123
- @Column(name = "updated_by")
124
- private Integer updatedby;
125
-
126
- @Column(name = "delete_flg")
127
- private Boolean deleteflg;
128
-
129
- @Column(name = "created_at")
130
- private Timestamp createdat;
131
82
  setterとgetterは略します
132
83
  ```
133
84
  リポジトリ
@@ -334,12 +285,45 @@
334
285
  </html>
335
286
  ```
336
287
  テーブル定義です
337
- goals_seq
338
- ![イメージ説明](142e7ac0333734fdac370a2d5dc6e590.png)
339
- meisai_tbl
340
- ![イメージ説明](12eb403866e598ac2ca9286851bd36ed.png)
341
288
 
289
+ ```DDL
290
+ CREATE TABLE goals_seq
291
+ (
292
+ id INT NOT NULL,
293
+ user_id INT,
294
+ goal_id INT,
295
+ goal_title VARCHAR(255),
296
+ goal_detail VARCHAR(1000),
297
+ goal_weight VARCHAR(10),
298
+ updated_at TIMESTAMP(0),
299
+ updated_by INT,
300
+ delete_flg BIT NOT NULL,
301
+ created_at TIMESTAMP(0),
302
+ year VARCHAR(4),
303
+ CONSTRAINT PRIMARY KEY (id)
304
+ );
342
305
 
306
+ CREATE TABLE meisai_tbl
307
+ (
308
+ meisai_id INT NOT NULL,
309
+ goalseq_id INT,
310
+ self_mid_cmt VARCHAR(1000),
311
+ boss_mid_cmt VARCHAR(1000),
312
+ self_end_cmt VARCHAR(1000),
313
+ boss_end_cmt VARCHAR(1000),
314
+ first_rvw_ck BIT NOT NULL,
315
+ mid_rvw_ck BIT NOT NULL,
316
+ end_rvw_ck BIT NOT NULL,
317
+ updated_at TIMESTAMP(0),
318
+ updated_by INT,
319
+ delete_flg BIT NOT NULL,
320
+ created_at TIMESTAMP(0),
321
+ CONSTRAINT PRIMARY KEY (meisai_id)
322
+ );
323
+
324
+ ```
325
+
326
+
343
327
  ### 試したこと
344
328
  ・デバックをして登録ボタンを押したらどこまで値が取得できているか見てみた
345
329
  画面
@@ -357,9 +341,6 @@
357
341
  boss_end_cmtの値は受け取れているのになぜエラーでUnknown column 'boss_end_cmt' in 'field list'と出るのかわかりません。
358
342
 
359
343
  ### 補足情報(FW/ツールのバージョンなど)
360
- 仕様ツールのバージョン
361
- STS4
362
- jdk1.8
363
- MySQL8.0
364
344
 
345
+
365
346
  初心者なので至らない点があると思いますがよろしくお願いします。