所有表/实体上是否都有“created_at”和“last_update_at”字段?
💡
原文中文,约1600字,阅读约需4分钟。
📝
内容提要
本文讨论了在表和实体中是否应该添加'created_at'和'last_update_at'字段的问题,大多数人认为这是一个好做法。文章还提到了使用时间戳的好处,如增量备份、了解错误、缓存逻辑等。作者分享了使用Hibernate Envers进行审计的实践经验。
🎯
关键要点
- 大多数模型相关表都有created_at和updated_at字段,使用软删除时还有deleted_at字段。
- 审计表记录所有内容的完整历史记录,了解谁改变了什么。
- updated_at字段对缓存失效非常有用,可以获取特定查询的最大updated_at。
- 建议在所有表中添加基本字段,包括ID、created、modified、deleted和archived。
- updated_at字段适用于增量备份、了解错误、缓存逻辑和数据导出。
- 使用Hibernate Envers进行审计,记录更改类型、时间戳和用户ID。
- 时间戳有助于解决公司环境中的冲突,支持错误修复和数据跟踪。
❓
延伸问答
为什么在表中添加created_at和updated_at字段是一个好做法?
添加这些字段可以帮助进行增量备份、了解错误、缓存逻辑和数据导出等操作。
使用Hibernate Envers进行审计有什么优势?
Hibernate Envers可以记录更改类型、时间戳和用户ID,帮助追踪数据的历史记录。
在所有表中应该包含哪些基本字段?
建议包含ID、created、modified、deleted和archived等字段。
updated_at字段如何帮助缓存管理?
updated_at字段可以获取特定查询的最大更新时间,从而有效管理缓存失效。
如何使用时间戳解决公司环境中的冲突?
时间戳可以帮助跟踪数据的更改历史,支持错误修复和数据排序,减少冲突的发生。
在使用软删除时,deleted_at字段的作用是什么?
deleted_at字段用于标记数据的删除状态,便于数据恢复和管理。
➡️