|
该帖已经被评为新手帖
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2008-02-26
所以才说是架构有问题
所有的表默认都应该有 creatuser和updateuser字段的 而不是非要通过打log的方式来让客户查找 p.s:你要是非想要session可以试试去改p6spy的源代码 不过估计很困难 |
|
| 返回顶楼 | |
|
最后更新时间:2008-02-26
jackie0525 写道 robbin 写道 jackie0525 写道 robbin 写道 这还就是一个新手贴,听说过P6SPy吗?
听说过!并且已经下载下来研究了。 但目前的需求是log的格式有严格的要求,并要从session中取得用户id。而且只要记录update, insert, delete种类的sql语句,不能记录select类型的sql。请问这些需求P6SPy能实现么? SQL和http session是毫无关系的两码事,不存在任何对应关系。你的需求本身就是错误的。 这个我也知道,但不知道你是否做过日本的软件开发项目,这种需求在对日软件开发中非常常见,主要就是为了记录下某个用户在某个时刻对数据库做了什么修改,所以只要求记录那些对数据库产生影响的sql,像select这种检索语句则不需要记录。在不使用hibernate而是使用传统的jdbc开发的时候,这种需求是很容易实现的。但目前的问题就是因为项目使用了hibernate,所以无法在程序代码中得到sql语句。 所以说你的需求本身是错误的,既然原始需求是记录数据库被更改的情况,那就压根不应该从SQL入手。你可以使用Hibernate Interceptor对所有的持久化对象进行拦截,侦听持久对象状态改变,并且记录相应的事件。Session信息可以从ThreadLocal的方式传递给Interceptor。 BTW: 像这种数据审计的功能,正好是Hibernate的强项,即便你原来用JDBC的时候记录SQL,其实也是笨办法。 |
|
| 返回顶楼 | |
|
最后更新时间:2008-03-03
|
|
| 返回顶楼 | |
|
最后更新时间:2008-03-18
不知lz是不是要这些例子
http://blogger.org.cn/blog/more.asp?name=gareth&id=32005 http://blog.csdn.net/shuailee/archive/2007/11/28/1905261.aspx |
|
| 返回顶楼 | |







