###前提・実現したいこと
SpringBootの勉強中です。Eclipseでユーザー登録を行うシステムをつくっています。
idを@GeneratedValueで自動生成しようと思ったのですが、登録時にidがnullであるとエラーがでます。
自動で採番され、登録させたいです。
よろしくお願いします。
###発生している問題・エラーメッセージ
ブラウザ上からフォームに登録内容を打ち込み、POSTすると下記エラーが発生します。
"id"項目はhiddenとして記入できないようにしています。
org.postgresql.util.PSQLException: ERROR: null value in column "id" violates not-null constraint
詳細: Failing row contains (null, touroku, 1234, mail).
###該当のソースコード
HTML
1<!DOCTYPE html> 2<html> 3<head> 4 <meta charset="UTF-8"> 5 <title>top page</title> 6 <meta http-equiv="Content-Type" content = "text/html; charset = UTF-8" /></meta> 7 8 <style> 9 h1 {font-size:18pt; font-weight:bold; color:gray;} 10 body{font-size:13pt; color:gray; margin:5px 25px;} 11 tr { margin:5px} 12 th { padding:5px; color:white; background:darkgray;} 13 td { padding:5px; color:black; background:#e0e0ff;} 14 pre{ border: solid 3px #ddd; padding: 10px; } 15 </style> 16</head> 17<body> 18 <h1 th:text="#{content.title}">登録ページ</h1> 19 <table> 20 <form method="post" action="/" th:object="${formModel}"> 21 <tr><td><label for="id">id</label></td> 22 <td><input type="hidden" name="id" th:value="*{id}" /></td></tr> 23 <tr><td><label for="user_id">user_id</label></td> 24 <td><input type="text" name="user_id" th:value="*{user_id}" /></td></tr> 25 <tr><td><label for="pass">pass</label></td> 26 <td><input type="text" name="pass" th:value="*{pass}" /></td></tr> 27 <tr><td><label for="mail">mail</label></td> 28 <td><input type="text" name="mail" th:value="*{mail}" /></td></tr> 29 <tr><td></td><td><input type="submit" /></td></tr> 30 </form> 31 </table> 32 <hr/> 33 <table> 34 <tr><th>ID</th><th>USER_ID</th><th>PASS</th><th>MAIL</th></tr> 35 <tr th:each="obj : ${datalist}"> 36 <td th:text="${obj.id}"></td> 37 <td th:text="${obj.user_id}"></td> 38 <td th:text="${obj.pass}"></td> 39 <td th:text="${obj.mail}"></td> 40 </tr> 41 </table> 42</body> 43</html>
Java
1 @RequestMapping(value = "/" , method = RequestMethod.POST) 2 @Transactional(readOnly = false) 3 public ModelAndView form( 4 @ModelAttribute("formModel") Kadai_User kadai_user , ModelAndView mav){ 5 repository.saveAndFlush(kadai_user); 6 return new ModelAndView("redirect:/"); 7 }
Java
1package com.pstgrs.jpa; 2 3import javax.persistence.*; 4 5@Entity 6@Table(name="Kadai_User") 7public class Kadai_User{ 8 9 @Id 10 @GeneratedValue(strategy=GenerationType.IDENTITY) 11 @Column 12 private long id; 13 14 @Column 15 private String user_id; 16 17 @Column 18 private String pass; 19 20 @Column 21 private String mail; 22 23 public long getId() { 24 return id; 25 } 26 27 public void setId(long id) { 28 this.id = id; 29 } 30 31 public String getUser_id() { 32 return user_id; 33 } 34 35 public void setUser_id(String user_id) { 36 this.user_id = user_id; 37 } 38 39 public String getPass() { 40 return pass; 41 } 42 43 public void setPass(String pass) { 44 this.pass = pass; 45 } 46 47 public String getMail() { 48 return mail; 49 } 50 51 public void setMail(String mail) { 52 this.mail = mail; 53 } 54}
SQL
1 kadai_user 2 id integer NOT NULL, 3 user_id character varying(10), 4 pass character varying(10), 5 mail character varying NOT NULL, 6 CONSTRAINT user_pkey PRIMARY KEY (id)
###補足情報(言語/FW/ツール等のバージョンなど)
Java
SpringBoot
Eclipse Version: Mars.2 Release (4.5.2)
STS for eclipse 3.8.1
PostgreSQL 9.4.4
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/09/19 08:31 編集
2016/09/19 09:45