2016-07-12 11:02
@小飞象 简单来说就是:转换时调用了 getter,调用 getter 时查询了数据库,再进行转换,转换时又调用了 getter,如果数据表中的数据是循环依赖的,转换将陷入死循环。 如果这种循环依赖是在内存中,fastjson 是可以探测到的,但在数据库中发生时并没有处理
2016-07-12 10:59
@小飞象 在对 TagEntityType 对象进行json 转换时,调用了其中的 getter 方法获取数据,而 getter 方法又去读了数据库,将读取出来的数据再进行 json 转换,如果数据表中的 TagEntityType 记录之间存在依赖关系,例如用了 pid 之类的字段表示了记录之间的关系,一旦出现循环依赖,那么转换必然就会出现死循环,这种循环依赖发生在数据表,而不是内存的对象中,本质上是一样的。单步调试一下就清楚了
2016-07-11 11:51
@天蓬小猪 文档在此: http://git.oschina.net/jfinal/jfinal-weixin/wikis/home
2016-07-11 08:53
@lyh061619 把 jfinal 与 Controller.getModel()、getBean() 的代码直接拿出来,做成你自己的一个 BaseController,然后集成spring时让所有控制器继承这个 BaseController,如果不喜欢继承方式,还可以将getModel()、getBean()方法封装在一个工具类里面即可打完收工