14.2 アプリケーションの開発
private Integer reservationId;
private LocalTime startTime;
private LocalTime endTime;
@ManyToOne
@JoinColumns({ @JoinColumn(name = "reserved_date"),
@JoinColumn(name = "room_id") })
private ReservableRoom reservableRoom;
@ManyToOne
@JoinColumn(name = "user_id")
private User user;
// Getter/Setter
は省略
}
❶
主キーを JPA に自動採番させる。PostgreSQL の場合は該当するカラムに
serial
型が使用される
❷
ReservableRoom
エンティティと 1 方向の多対 1の関連設定を行なう。外部キーとして
reserved_date
と
room_id
の
複合キーを指定する
❸
User
エンティティと 1 方向の多対1 の関連設定を行なう。外部キーとして
user_id
を指定する
エンティティクラスの実装が終了したら、データベースにテーブルを作成します。
DDL
の実行は柔軟性と汎
用性を考慮して、
Spring Boot
起動時に
SQL
を自動実行するようにします。
application.properties ...