摘要: 15.1.1 单向关联与双向关联在Hibernate框架中,实体对象之间的关系可分为一对一、多对一等关联关系,其关联类型主要分为"单向关联"与"双向关联"。(1)单向关联单向关联指具有关联关系的实体对象之间的加载关系是单向的。它意味着,在具有关联关系的两个实体对象中,只有一个实体对象可以访问对方。如图15.1所示,从学生对象中可以加载到班级信息,反过来则不行。(2)双向关联双向关联指具有关联关系的实体对象之间的加载关系是双向的。它意味着,在具有关联关系的两个实体对象中,彼此都可以访问对方。如图15.2所示,从学生对象中可以加载到班级信息,从班级对象中也可 阅读全文
posted @ 2013-12-03 22:42 google4y 阅读(1766) 评论(0) 推荐(0) 编辑
摘要: 在orm中有一个经典的问题,那就是N+1问题,比如hibernate就有这个问题,这一般都是不可避免的。【N+1问题是怎么出现的】N+1一般出现在一对多查询中,下面以Group和User为例,Group和User是一对多的关系。在sql中如果我们要查询user表中的字段,并需要让每个user都有group表中的信息,也就是多对一查询,我们可以用如下sql:select u.*,g.* from user as u left join group as g on u.group_id = g.id;这样查询出来的user表是附带了group信息的,也就是比如我要查询一个用户,包括他的所属组的信息 阅读全文
posted @ 2013-12-03 11:59 google4y 阅读(2913) 评论(1) 推荐(1) 编辑
摘要: 物理分页和逻辑分页扫盲:物理分页和逻辑分页 逻辑分页利用游标分页,好处是所有数据库都统一,坏处就是效率低。 物理分页就是数据库本身提供了分页方式,如mysql的limit,好处是效率高,不好的地方就是不同数据库有不同的搞法。hibernate采用的是物理分页,mybatis默认采用逻辑分页(数据量大的时候会造成内存溢出),不过可以用插件或其他方式能达到物理分页效果 阅读全文
posted @ 2013-12-03 09:50 google4y 阅读(1219) 评论(1) 推荐(0) 编辑
不在家,就在公司,不在公司,就在去公司的路上,無家無根,如風如萍,只有漂