3.1.1 为域适配持久化

在将对象持久化到数据库时,通常最好有一个惟一标识对象的字段。Ingredient 类已经有一个 id 字段,但是需要向 Taco 和 Order 添加 id 字段。

此外,了解何时创建 Taco 以及何时放置 Order 可能很有用。还需要向每个对象添加一个字段,以捕获保存对象的日期和时间。下面的程序清单显示了 Taco 类中需要的新 id 和 createdAt 字段。

{% code title=”程序清单 3.3 向 Taco 类添加 id 和 timestamp 字段” %}

  1. @Data
  2. public class Taco {
  3. private Long id;
  4. private Date createdAt;
  5. ...
  6. }

{% endcode %}

因为使用 Lombok 在运行时自动生成访问器方法,所以除了声明 id 和 createdAt 属性外,不需要做任何事情。它们将在运行时根据需要生成适当的 getter 和 setter 方法。Order 类也需要做类似的修改,如下所示:

  1. @Data
  2. public class Order {
  3. private Long id;
  4. private Date placedAt;
  5. ...
  6. }

同样,Lombok 会自动生成访问字段的方法,因此只需要按顺序进行这些更改。(如果由于某种原因选择不使用 Lombok,那么需要自己编写这些方法。)

域类现在已经为持久化做好了准备。让我们看看如何使用 JdbcTemplate 在数据中对它们进行读写。