今天调试程序发现控制台老是发出多余的SQL语句,因为用的是hibernate的一对多关联映射都是延迟加载,也就是说没有使用的时候不会发SQL,而我程序中就是没有使用过,后来通过firebug调试看他返回的json数据才发现原来struts-josn-plugin自动帮我转换数据的时候调用了它,所以说要发SQL,我就想可不可以通过@JSON(serialize = false)这个注解不让他返回这个属性也就不会再发SQL了,当时只是想想而已,试过之后发现竟然可以,我想通过struts-josn-plugin返回json在那个action中不但属性要有get方法,要是返回json数组里面还有json对象这种格式的数据,那个对象的属性要是有相应的get方法也会返回。我是这么理解的,没有看源码,等有机会看源码再验证这个理解的正确性吧。
——IT小小鸟
2011-01-13