Hibernate第三次测试错题解析

时间:2023-04-03 08:22:44

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

Hibernate第三次测试错题解析

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

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

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

Hibernate第三次测试错题解析

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

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

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

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

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

Hibernate第三次测试错题解析

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

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