java - 数据库, "Pending status"设计表

标签 java spring postgresql jpa

我有一个已经构建的项目(使用 Spring 和 JPA)。其中一项功能允许用户在数据库中添加一个地点(每个地点可以与多个标签相关联,它们也必须得到管理员的批准)。

我想设置一个“挂起”状态系统,当用户添加一个新的地方时,这个地方被添加到数据库中(在我的例子中是 postgreSQL) 但处于“待定状态”,实际上并不被视为最终地点。 (然后管理员必须批准该地点才能使其对其他用户可见)

Spring 或 JPA 是否提供任何机制来存档它? 还是唯一的方法是重新设计表并修改所有查询? (如果是这样,什么是好的设计?添加一个额外的列(状态)?或者有单独的表格等。?

ps: 所以目前我的设计如下:

table 位置: id_place/名称/等...

表格标签: id_tag/名称/etc..

table place_tag(将每个标签链接到它的位置) id/id_place/id_taf 谢谢!

最佳答案

根据评论和讨论,我看到这个实现和完成的最常见和最有效的方法是在现有表中包含一个额外的列,例如“已验证”。

一些好处包括:

  • 最少的数据库更改

  • 查询效率不下降

  • 业务逻辑和功能代码不会发生重大变化(因为您 使用现有方法等)

同样,这将根据意见、经验、系统复杂性等而改变。

希望对您有所帮助。

关于java - 数据库, "Pending status"设计表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27161896/

相关文章:

java - 如何在 spring <form :form> 中保存多个对象

sql - 可能的嵌套查询

Java避免没有同步/锁的竞争条件

java - 错误处理的 Spring MVC Rest 服务 Controller 正确吗?

java - 使用 post 方法将数据从 jsp 登录表单发送到 servlet 时出现空白页面

postgresql - 为什么 Postgres 拒绝在某些设置中使用复合索引?

sql - 如何编写 SQL 以在满足条件时返回一行,否则返回另一行

java - 单元测试中unicode字符串文字的问题

java - Spring 一号的 BOF

java - 如何使用数据库中的属性重新加载配置bean