对于多表查询有2个很重要的问题我想问下波总
1.在jfinal文档https://jfinal.com/doc/5-10 中有这么一个推荐写法
这样写应该是有问题的吧
User中有getBlogs,而在Blog中又有getUser,这样不会出现死循环吗?因为在解析这个model的时候通常会把getXXX去自动调用,这样就会产生user去找blog,因为blog中有user又会去找blog产生死循环?
然后我昨天去做了一个实验,我有一个营销的model
里面有课程,而课程里又会去找营销对象
我controller中去把课程返回给前端,果然产生了死循环
不能够这样互相嵌套的吧?
第2个问题也很重要
我现在有很多个课程,每个课程里都有自己的营销活动,如果我把数据查询写在model里,那么我查询100个课程他就会帮我产生100条查询营销活动的数据库连接,这样是不是太费性能了?如果我每一个model的多表查询都用这种方式去做的话,数据库性能开销我不敢想,jfinal正确的数据库多表查询的方案应该怎么弄?
我现在是用record的方式去做的,但是也很不方便,为什么?
因为record给我返回的是key是表的字段名,通常是带下划线的,
我需要一个个get key取出值来重新赋值到我的DTO的对象里返回回去
最后总结下我的问题:
dao中getXXX 多model嵌套会死循环的吧,文档中那种推荐应该是有问题的?
即便我规避了嵌套的问题,model里直接getXXX去查询数据库,在多条查询记录的时候会产生很多次的数据库查询这样会很费数据库性能的吧?有无优化方法
我用record去查多表查询数据的时候返回record对象jfinal有没有自带的方法把record转成我的DTO也就是把下划线的驼峰后映射到我的DTO对象里,我现在是自己写了一个方法,我不知道Jfinal有没有更好的方式来处理这个问题
在jfinal中波总推荐的多表查询应该是怎么去写?