質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

0回答

249閲覧

SpringBoot @OneToMany を使いMySQLのIDと紐づけしたい。

asagi_084

総合スコア16

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2018/10/15 11:17

@OneToManyを使うとどうしてもNULLになってしまうのでアドバイスを頂ければ幸いです。
まだ質問の文章の作り方なれてなく、見にくくなってしまい申しわけないです・

Controller @RequestMapping(value = "/msg", method = RequestMethod.GET) public ModelAndView msgindex(@RequestParam("id")Long id,ModelAndView mav) { mav.setViewName("msg"); MailAddressData mailaddressdata = service.findOne((long)id); mav.addObject("MailDataList",mailaddressdata); MsgData msgdata = new MsgData(); mav.addObject("from", msgdata); MsgData list =msgservice.findOne((long)id); mav.addObject("datalist",list); return mav; } @RequestMapping(value = "/msg", method = RequestMethod.POST) public ModelAndView msgform(@ModelAttribute MsgData msgdata,ModelAndView mav) { msgservice.save(msgdata); return new ModelAndView("redirect:/msg"); } }

@Entity
@Table(name="mailaddress")
public class MailAddressData {

@Id @GeneratedValue(strategy = GenerationType.AUTO) @Column private Long id; @Column(length = 50,nullable = false) private String name; @Column(length = 100,nullable = false) private String address; @OneToMany(cascade = CascadeType.ALL,fetch = FetchType.LAZY) @Column(nullable = true) private List<MsgData> msgdata; public MailAddressData(Long id,String name,String address) { this.id=id; this.name=name; this.address=address; } public MailAddressData() {}; public List<MsgData> getMsgdata() { return msgdata; } public void setMsgdata(List<MsgData> msgdata) { this.msgdata = msgdata; } public Long getId() {return id;} public void setId(Long id) {this.id = id;} public String getName() {return name;} public void setName(String name) {this.name = name;} public String getAddress() {return address;} public void setAddress(String address) {this.address = address;}

}

@Entity
@Table(name="mailaddress")
public class MailAddressData {

@Id @GeneratedValue(strategy = GenerationType.AUTO) @Column private Long id; @Column(length = 50,nullable = false) private String name; @Column(length = 100,nullable = false) private String address; @OneToMany(cascade = CascadeType.ALL,fetch = FetchType.LAZY) @Column(nullable = true) private List<MsgData> msgdata; public MailAddressData(Long id,String name,String address) { this.id=id; this.name=name; this.address=address; } public MailAddressData() {}; public List<MsgData> getMsgdata() { return msgdata; } public void setMsgdata(List<MsgData> msgdata) { this.msgdata = msgdata; } public Long getId() {return id;} public void setId(Long id) {this.id = id;} public String getName() {return name;} public void setName(String name) {this.name = name;} public String getAddress() {return address;} public void setAddress(String address) {this.address = address;}

}

Service
public class MsgService {

@Autowired MsgDataRepository repository; public MsgData save(MsgData msgdata) { return repository.save(msgdata); } public List<MsgData> getAll(){ return repository.findAll(); } public MsgData findOne(long id) { return repository.getOne(id); }
```ここに言語を入力 <!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>メッセージ</title> </head> <body> <div th:each="obj : ${MailDataList}"> <a th:text="${obj.name}" ></a><a>さんのメッセージ</a><br/> <form action="/msg" method="POST" th:object="${from}"> <input type="hidden" name="id" th:value="${obj.id}" /> <input type="text" name="msg" th:text="${msg}" /> <input type="submit" /> </form> </div> <hr /> <table> <tr> <th>名前</th> <th>メッセージ</th> </tr> <tr th:each="obj : ${list}"> <td th:text="${obj.addressdata.name}"></td> <td th:text="${obj.msg}"></td> </tr> </table> </body> </html>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/10/15 11:35

とりあえずマークダウンを覚えてコードはMDにしてな
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問