02 Hibernate错题分析
解析:使用final修饰的成员变量是常量
解析:不存在StateMoreSession的对象
解析:一个PreparedStatement 可以执行多次executQuery方法
解析:A 使用HQL处理海量数据性能极低,不能采用这种方式。
B. JDBC API性能最好,最适合处理海量数据。
C. 如果一次性flush,Hibernate会将操作的对象全部放到自身的内部缓存,将会造成内存溢出,所以也不能采用这种方式。
D. 如果分为多次flush,可及时将缓存清除,也不失为一种办法。
解析:{l.*}表示的是查询引用实体的属性。*号表示查询该实体类的所有属性。
解析:命名查询是可以做复杂查询的处理
解析:
B:命名查询通过在映射文件中配置<query>(对应HQL语句)或者<sql-query>(对应原生SQL语句)
![](https://images2015.cnblogs.com/blog/903715/201609/903715-20160913175256398-1761298012.png)
解析:SQL语句中涉及的数据不会被加载到Session缓存中。
![](https://images2015.cnblogs.com/blog/903715/201609/903715-20160913175428727-1356579165.png)
解析:原生SQL查询不能使用HQL和Criteria的方式
解析:表达有误!
![](https://images2015.cnblogs.com/blog/903715/201609/903715-20160913175749461-384812395.png)
解析:Hibernate推荐使用方式就是同过doWork的execute方法来完成JDBC的操作。