hibernate优化笔记(随时更新)

一:优化配置

1.关联映射的配置:对照之前的博客,如:inverse属性的设置(减少对同一对象的多条update语句):在one端设置为true,只会执行一次update语句

2.级联cascade属性设置:全部或部分设置为级联

  如设置为sava-update(级联更新),当进行保存或更新时,会级联保存所有的关联映射的字段对象;

  这就会导致一个问题:如果在many端有几千条数据被修改,则需要执行同样数量的update语句,会导致性能浪费

  解决:在many端设置为none;在one端设置为需要的级联属性;则只要执行一条update语句更新set集合即可;但是这样也会导致在many端无法进行级联保存更新修改等操作;

3.实体类-表的映射文件:class:select-before-update属性的设置

  true:当hibernate的session缓存中的对象属性值变化时,在缓存清理时才会对该对象进行update语句;但是会产生一条select语句先去数据库查询,然后两者比较决定是否有更改

  false:无论是否有更改,都会进行update语句;

  因此:对于修改较少的类:可以设置为true

 

posted @ 2016-11-03 18:27  寰殇丶天使  阅读(133)  评论(0编辑  收藏  举报