在利用spring的aop记录系统运行日志时,往往需要记录方法的参数、返回值等,而在用hibernate框架做整合时,大部分情况下参数和返回值都是某个持久化对象,这时候如果直接记录时,得到的是该对象在内存中的哈希值,而这样的内容很明显不是我们想得到的,当然要解决这个问题,最简单的方法就是重写该持久化类的toString()方法。
在重写了toString方法后,得到的结果将会是如下:
before: userExsit
方法参数:beckham1
Hibernate: select user0_.id as id0_, user0_.username as username0_, user0_.password as password0_, user0_.realname as realname0_, user0_.sex as sex0_, user0_.age as age0_ from menhu.user user0_ where user0_.username='beckham1' limit ?
before: saveUser
方法参数:User对象详细信息:用户名:beckham1密码:123456真实姓名:贝克汉姆性别:男年龄:32
这样的话,我们记录的日志才是我们想要的!