3.1.1 Điều chỉnh miền dữ liệu để lưu trữ
Khi lưu trữ các đối tượng vào cơ sở dữ liệu, thông thường nên có một trường duy nhất để định danh đối tượng. Lớp Ingredient của bạn đã có trường id, nhưng bạn cũng cần thêm trường id cho cả Taco và TacoOrder.
Hơn nữa, sẽ hữu ích nếu biết thời điểm một Taco được tạo và khi nào một TacoOrder được đặt. Bạn cũng cần thêm một trường vào mỗi đối tượng để lưu lại ngày và giờ khi các đối tượng này được lưu. Danh sách sau đây cho thấy các trường id và createdAt mới cần có trong lớp Taco.
Danh sách 3.3 Thêm các trường ID và timestamp vào lớp Taco
@Data
public class Taco {
private Long id;
private Date createdAt;
...
}Vì bạn đang sử dụng Lombok để tự động sinh các phương thức truy cập tại thời gian chạy, bạn không cần làm gì thêm ngoài việc khai báo các thuộc tính id và createdAt. Chúng sẽ có các phương thức getter và setter phù hợp khi chạy. Các thay đổi tương tự cũng cần thực hiện trong lớp TacoOrder, như hiển thị bên dưới:
@Data
public class TacoOrder implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
private Date placedAt;
// ...
}Một lần nữa, Lombok sẽ tự động sinh các phương thức truy cập, vì vậy đây là tất cả những thay đổi cần thiết trong TacoOrder. Nếu vì lý do nào đó bạn không sử dụng Lombok, bạn sẽ cần tự viết các phương thức này.
Các lớp miền dữ liệu (domain classes) của bạn giờ đã sẵn sàng cho việc lưu trữ. Hãy cùng xem cách sử dụng JdbcTemplate để đọc và ghi chúng vào cơ sở dữ liệu.
