3.1.1 为持久化改造领域实体
在将对象持久化到数据库时,通常最好有一个惟一标识对象的字段。Ingredient 类已经有一个 id 字段,但是需要向 Taco 和 TacoOrder 添加 id 字段。
此外,了解何时创建 Taco 以及何时生成一个 TacoOrder 可能很有用。还需要向每个对象添加一个字段,以捕获保存对象的日期和时间。下面的程序清单显示了 Taco 类中需要的新 id 和 createdAt 字段。
程序清单 3.3 向 Taco 类添加 id 和 timestamp 字段
@Data
public class Taco {
private Long id;
private Date createdAt;
...
}
因为使用 Lombok 在运行时自动生成访问器方法,所以除了声明 id 和 createdAt 属性外,不需要做任何事情。它们将在运行时根据需要生成适当的 getter 和 setter 方法。TacoOrder 类也需要做类似的修改,如下所示:
@Data
public class TacoOrder implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
private Date placedAt;
// ...
}
同样,Lombok 会自动生成访问字段的方法,因此 TacoOrder 类只需要进行这些更改。(如果由于某种原因选择不使用 Lombok,那么需要自己编写这些方法。)
领域类现在已经为持久化做好了准备。让我们看看如何使用 JdbcTemplate 对它们进行数据库读写。