Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我应该将数据存储在db中还是存储在enum中?_Java_Sql_Spring_Rest_Service - Fatal编程技术网

Java 我应该将数据存储在db中还是存储在enum中?

Java 我应该将数据存储在db中还是存储在enum中?,java,sql,spring,rest,service,Java,Sql,Spring,Rest,Service,数据非常小,就像水果列表一样,不会经常更改,而且只有一个服务将使用此数据并服务于其他服务,请说明您的方法的优点和缺点。我认为这取决于更改的频率以及需要更改的人。如果您希望雇主能够轻松地更改它们,您可以将它们保存在db中,并为它们提供api或某种ui,以便它们可以随时轻松地更改。 但是,如果您自己需要每年更新一次,我认为没有必要不硬编码。我认为最好将其存储在数据库的表中 如果将其存储在枚举中,则在添加、更改或删除水果时,必须再次编译代码。在发生更改的情况下,您必须更新此水果名称所在的所有位置表列

数据非常小,就像水果列表一样,不会经常更改,而且只有一个服务将使用此数据并服务于其他服务,请说明您的方法的优点和缺点。

我认为这取决于更改的频率以及需要更改的人。如果您希望雇主能够轻松地更改它们,您可以将它们保存在db中,并为它们提供api或某种ui,以便它们可以随时轻松地更改。
但是,如果您自己需要每年更新一次,我认为没有必要不硬编码。

我认为最好将其存储在数据库的表中

如果将其存储在枚举中,则在添加、更改或删除水果时,必须再次编译代码。在发生更改的情况下,您必须更新此水果名称所在的所有位置表列

在数据库中,您可以选择将其另存为单列表或两列表id(fruit_name)


我会选择第二种选择。因为如果选择单列选项,并且更改水果名称,则必须在水果名称存储的所有表中更改它,就像在enum中一样。两列表的一个缺点是,您必须与水果表进行联接才能获得水果名称,但进行这种联接非常简单。

不,预计每3-4年会有一次更改,这很好;但是,如果您想尽量减少维护需求,您仍然可以使用基于数据库的方法。为什么要运行数据库来管理一小部分水果呢?即使数据可以更改,我也会将其转储到一个文本文件中,然后处理它。一个数据库只会给听起来超基本的东西增加不必要的复杂性,我看不出有什么好处。因为有10个相似的数据集将以相似的方式使用