将主键保存在我的 front-end 中以便在发送到我的服务器进行一些数据库操作后使用它们是个好主意吗?

is it a good idea to save primary keys in my front-end to use them after to send to my server to make some database operations?

我想把你放在上下文中。我有一个 java 网络应用程序,我正在使用以下内容。

我的数据库中还有两个 HTML(updateDriver.html, assignCarToDriver.html) 和三个实体。

所以我有两种情况。

如你所见,我的两个实体之间的数据库关系是many-to-may,所以我的数据库看起来是这样的。

| driver |---|driver_car|---|汽车 |

第一个场景,第一个html(updateDriver.html),这一步会发生。

  1. 服务器将 driver 实体发送到我的 front-end 及其数据库属性,如主键、姓名、姓氏、年龄。
  2. 我会在我的 html 上显示这个属性,但不显示主键(我会把这个放在隐藏的输入文本中)

所以当用户在我的 html 上按下 "update" 按钮时,我会通过 jquery 获取值并将它们发送到我的服务器以在我的数据库中进行更新,我的问题来了,将主键隐藏到隐藏的输入文本中是好方法吗?如果不是,还有哪些其他方法可以实现这一目标?

在第二种情况中,在sencod html (assignCarToDriver.html)中有一个显示所有启用driver的组合,一个输入用户必须写下汽车牌照的文本和将显示汽车的 table (datatable js)。想象一下。我 select 第一个 driver 显示在组合中,然后我把车牌放在我的输入文本中,我按 "search" 按钮,所以这一步会发生。

  1. 服务器将汽车实体及其主键、型号、颜色等属性发送给我 front-end
  2. 所以我会在我的 table(datatable js) 上显示汽车属性,但不显示主键(我会让列不可见)

所以当用户按下 "Assign" 按钮时,我会得到组合值,table 记录,然后将它们发送到我的服务器,我的问题来了,在这种情况下,是这是获取实体的好方法,将它们放在 table (datatable js) 上并隐藏显示主键的列以将它们发送到我的服务器以进行分配操作?如果不是,还有哪些其他方法可以实现这一目标?

如您所见,我认为在我的 front-end 中使用主键是不好的做法,但我可能是错的。

我希望我的解释很清楚,如果我写得太多,我很抱歉,但我是新制作 java 网络应用程序,我真的很想开发尊重良好方法和最佳实践的系统,我希望你能帮助我。预先感谢您的帮助。

非常好。但是,与其将主键(实体的 ID)隐藏在列中,不如将其作为单选按钮值。