此题目考查的是Hibernate查询缓存适用的场合,对于经常使用的查询语句,
如果启用了查询缓存,当第一次执行查询语句时,Hibernate会把查询结果存放在第二缓存中。
以后再次执行该查询语句时,只需从缓存中获得查询结果,从而提高查询性能。所以本题正确选项是AB。
本题考查的是Hibernate优化查询性能的缓存使用。
在这里需要注意的是session提供了两种清除缓存的方式即
evict(Object o) 和clear()因此BD选项都可以清除dept对象,close()方法的作用是关闭session,
此时的对象从持久态转换为游离态其实也是从缓存中清除掉了,因此close()也可以起到同样的效果,
A选项也是正确的。而flush()的作用是强制进行从缓存到数据库的同步不会清除掉缓存,因此C不正确。
此题目考查的是对缓存的理解,查询少,变更多时,使用缓存反而会降低性能,所以a、b错误。
如果按照id查询,可在id列上增加索引,但如果对每一列都增加索引可能会降低插入和修改性能,因此d错误。应选择c