MySQLのサンプルコードをH2に反映させたい
Q&A
Closed
解決したいこと
MySQLで作成された社員名簿のサンプルコードをH2データベースで使用したところ、エラーが出てしまったので解決方法を教えてください。
発生している問題・エラー
could not prepare statement [列 "U1_0.id" が見つかりません Column "U1_0.id" not found; SQL statement: select u1_0."id",u1_0."address",u1_0."create_date",u1_0."delete_date",u1_0."name",u1_0."phone",u1_0."update_date" from "user" u1_0 [42122-214]] [select u1_0."id",u1_0."address",u1_0."create_date",u1_0."delete_date",u1_0."name",u1_0."phone",u1_0."update_date" from "user" u1_0]; SQL [select u1_0."id",u1_0."address",u1_0."create_date",u1_0."delete_date",u1_0."name",u1_0."phone",u1_0."update_date" from "user" u1_0]
org.springframework.dao.InvalidDataAccessResourceUsageException: could not prepare statement [列 "U1_0.id" が見つかりません
Column "U1_0.id" not found; SQL statement:
該当するソースコード
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.validation.ObjectError;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import com.example.dto.UserRequest;
import com.example.entity.User;
import com.example.service.UserService;
/**
* ユーザー情報 Controller
*/
@Controller
public class UserController {
/**
* ユーザー情報 Service
*/
@Autowired
private UserService userService;
/**
* ユーザー情報一覧画面を表示
* @param model Model
* @return ユーザー情報一覧画面
*/
@GetMapping(value = "/user/list")
public String displayList(Model model) {
List<User> userlist = userService.searchAll();
model.addAttribute("userlist", userlist);
return "user/list";
}
/**
* ユーザー新規登録画面を表示
* @param model Model
* @return ユーザー情報一覧画面
*/
@GetMapping(value = "/user/add")
public String displayAdd(Model model) {
model.addAttribute("userRequest", new UserRequest());
return "user/add";
}
/**
* ユーザー新規登録
* @param userRequest リクエストデータ
* @param model Model
* @return ユーザー情報一覧画面
*/
@PostMapping("/user/create")
public String create(@Validated @ModelAttribute UserRequest userRequest, BindingResult result, Model model) {
if (result.hasErrors()) {
// 入力チェックエラーの場合
List<String> errorList = new ArrayList<String>();
for (ObjectError error : result.getAllErrors()) {
errorList.add(error.getDefaultMessage());
}
model.addAttribute("validationError", errorList);
return "user/add";
}
// ユーザー情報の登録
userService.create(userRequest);
return "redirect:/user/list";
}
/**
* ユーザー情報詳細画面を表示
* @param id 表示するユーザーID
* @param model Model
* @return ユーザー情報詳細画面
*/
@GetMapping("/user/{id}")
public String displayView(@PathVariable Long id, Model model) {
return "user/view";
}
}
すみません、どのソースコードを送ればよいかわからなかったのでCotrollerクラスを
送ります。
自分で試したこと
自分で反映のさせ方を調べましたが、参考になるサイトがなかったため質問させていただきました。お願いいたします。
0