質問編集履歴
2
rubytomato様のコメント1,2の項目を更新しました。
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
|
-
|
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
|

|
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追記
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
|
-
|
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
|
-
|
47
|
+
略
|
57
|
-
|
58
|
-
@Column(name = "delete_flg")
|
59
|
-
private Boolean deleteflg;
|
60
|
-
|
61
|
-
@Column(name = "created_at")
|
62
|
-
private Timestamp createdat;
|
63
|
-
|
64
|
-
|
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
|
-

|
339
|
-
meisai_tbl
|
340
|
-

|
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
|
初心者なので至らない点があると思いますがよろしくお願いします。
|