在 Spring Boot 应用程序中,我想为模型中的某些属性或列设置默认值。为了干净、可维护和可扩展的代码,我正在尝试找出处理此问题的最佳层。
我主要关心的是随着应用程序的增长保持干净、可扩展且易于维护的代码。
每种方法的最佳实践和潜在影响是什么?
列的默认值是什么意思? 如果您询问数据库列的默认值,您应该对其进行约束。
CREATE TABLE DUMMY_DATA
(
COL_NAME VARCHAR(255) NOT NULL,
IS_TEST_COLUMN INTEGER NOT NULL DEFAULT 0
);
INSERT INTO DUMMY_DATA(COL_NAME) VALUES('TEST');
SELECT * FROM DUMMY_DATA;
在上面的例子中,如果您只是在
col_name
列中插入数据,那么is_test_column
将自动为0。您还可以为col_name
设置默认值
尽管如果您不想使用这种方式设置默认值,那么在服务层设置默认值是有意义的。 服务层设置值 -> 值转到 DAO 层 -> 填充模型并在 DAO 层上提交事务。即使您询问 DTO 的属性/字段,服务层仍然更有意义。您的 Bean、DTO 或任何刚刚填充在服务层上的内容,控制器只会将响应从服务层转发到客户端。