日期:2014-05-19  浏览次数:20637 次

javaee项目中日志表的设计
在项目中有若干实体类,需要用户去录入。

现在用户有需求,需要把用户录入实体的信息体现出来,日志表应该如何设计比较妥当?

现有的考虑是数据表中有录入时间,录入用户ID,录入实体对应的数据表ID。

另外,该日志表需要映射到实体类么?

请大神指教。

------解决方案--------------------
我的看法:
1、各实体类的记录多不多,如果不多,就全部放在一个日志表里面,通过一个标识字段来标明是那个实体的。
2、日志表也可以映射到实体类,提供一个“保存”的接口给各实体模块调用,这个跟你开发技术有关,统一处理。
3、要记录的实体内容,我觉得可以拼成字符串保存在日志表里面,比如客户表:客户名称aaa客户地址bbb,如果表有大字段,这种方法不好,这时可以考虑给实体表加一个版本控制的功能,通过关联日志表跟历史记录,可以知道用户当时录入的内容。
4、主要字段有:日志记录ID、录入人、录入时间、录入内容(如果是关联历史记录,则改为录入记录的ID)、实体类型(只有一个日志表的情况)、操作(新增/修改...如果只记录新增的,本字段可不要),你再根据业务情况,看看是否需要一些冗余字段
5、加入日志功能,要保证事务的完整性