Memberクラスの変更
・messageのList型のフィールドを追加&初期化
・toStringにList内に保管されている、Messageのidをまとめて表示する機能を追加
(参考Listと配列の違い)https://eng-entrance.com/java-array-list
@OneToMany//①
public List<Message> message = new ArrayList<Message>();
@Override
public String toString() {
String ids = "{id:";//②
for(Message m : messages){//③
ids + = " " + m.id;//④
}
ids + = "}";//④
return ("[id:" + id + ",message"+ids+",name:" + name + ",mail:" + mail + ",tel:" + tel + "]");
}
①:このアノテーションにより、そのフィールドが1対多対応のModelである事を示す。
②:変数idsに{id:
を代入
③:拡張for文で、配列変数messagesをmへ代入
④:変数idsにm(message)のidを追加
⑤:最後に }
を追加
Messageクラスの変更
@ManyToOne(cascade = CascadeType.ALL)//①
public Member member;
①:このアノテーションにより、そのフォールドが多対1対応の関連付けのModelである事を示す。
多対1である事は、多数のエンティティに対応しなければならないため、ListやCollectionクラスを用意する。
動作内容
初期画面
メンバー情報を入力する
登録したメンバー名でメッセージを入力する
cascadeの設定により、MemberテーブルにもMessageのIDが表示される。