Hibernate第三次测试错题解析

 

 

 

 

 

 

 

 

 

 

此题目考查的是Hibernate查询缓存适用的场合,对于经常使用的查询语句,

如果启用了查询缓存,当第一次执行查询语句时,Hibernate会把查询结果存放在第二缓存中。

以后再次执行该查询语句时,只需从缓存中获得查询结果,从而提高查询性能。所以本题正确选项是AB。

本题考查的是Hibernate优化查询性能的缓存使用。

在这里需要注意的是session提供了两种清除缓存的方式即

evict(Object o) 和clear()因此BD选项都可以清除dept对象,close()方法的作用是关闭session,

此时的对象从持久态转换为游离态其实也是从缓存中清除掉了,因此close()也可以起到同样的效果,

A选项也是正确的。而flush()的作用是强制进行从缓存到数据库的同步不会清除掉缓存,因此C不正确。

此题目考查的是对缓存的理解,查询少,变更多时,使用缓存反而会降低性能,所以a、b错误。

如果按照id查询,可在id列上增加索引,但如果对每一列都增加索引可能会降低插入和修改性能,因此d错误。应选择c

 

posted @ 2016-09-09 09:39  Monodrama  阅读(132)  评论(0编辑  收藏  举报