問題:Dtoクラスが怒られているが、フィールドとgetter,setterしかなくどう変更すればよいかわからない。
実現したいこと:フォーム画面の情報(ID(hidden)、日付、項目、金額、詳細、備考)を登録する。
There was an unexpected error (type=Internal Server Error, status=500).
Unknown entity: com.example.demo.KakeiboDto; nested exception is java.lang.IllegalArgumentException: Unknown entity: com.example.demo.KakeiboDto
org.springframework.dao.InvalidDataAccessApiUsageException: Unknown entity: com.example.demo.KakeiboDto; nested exception is java.lang.IllegalArgumentException: Unknown entity: com.example.demo.KakeiboDto
HTMLファイル
<body> <p class="msg" th:text="${title}"></p> <p th:text="${errmsg}"></p> <form method="post" action="/insert" th:object="${kakeiboForm}"> <input type="hidden" name="id" th:value="${kakeiboForm.id}"> <table border="1"> <tr> <th>日付</th> <th>項目</th> <th>金額</th> <th>詳細</th> <th>備考</th> </tr> <tr> <td><input type="text" name="date" th:value="${date}"></td> <td><label for="koumoku"></label> <select name="koumoku" id="koumoku"> <option value="syokuhi">食費</option> <option value="nitityouhin">日用品</option> </select></td> <td><input type="text" name="kingaku" value=""></td> <td><input type="text" name="syousai" value=""></td> <td><input type="text" name="bikou" value=""></td> </tr> </table> <input type="submit" name="登録" /> </form> </body>
コントローラークラス @PostMapping("/insert") public String insert(@ModelAttribute KakeiboForm form,Model model,long id) { KakeiboDto dto=new KakeiboDto(); BeanUtils.copyProperties(form, dto); KakeiboDto registerdata=service.register(dto); repository.saveAndFlush(registerdata); //ここでエラーになる model.addAttribute("msg",dto); return "update"; }
@Repository public interface KakeiboRepository extends JpaRepository<KakeiboEntity,Long> { }
Dtoクラス public class KakeiboDto { private long id; private String date; private String koumoku; private int kingaku; private String syousai; private String bikou; //getter,setter省略
Formクラス public class KakeiboForm { //Dtoクラスと同じ仕様
回答1件
あなたの回答
tips
プレビュー