面试题:谈谈你对hibernate的理解

说说这类问题一般要和一个东西比较,说说他们的优点和缺点,hibernate就和JDBC比较呗,你就说说JDBC的优缺点,然后说说hibernate的优缺点,最后对比得出hibernate更好。

hibernate:

   1、概念:ormapping    对象关系映射

       1、操作数据库的框架

           底层是通过jdbc操作数据库的

       2、用面向对象的方式操作数据库

   2、jdbc的缺点

       1、代码太繁琐了

       2、不是面向对象的数据库操作

       3、资源关闭的代码也很繁琐,每次都得打开、关闭

       4、没有做到数据缓存

       5、移植性比较差

       优点:

          因为是最低层的操作,所以效率比较高

   3、hibernate

       1、代码比较精简了

       2、是面向对象的数据库操作

       3、只需要关闭一个对象就可以了session

       4、数据缓存  一级缓存  二级缓存  查询缓存

       5、移植性比较好

       缺点:

          1、程序员不能控制sql语句的生成

              hibernate中有一个hql

          2、如果一个项目对sql语句的优化要求特别高,不适合用hibernate

          3、如果一张表的数据量特别大,不适合用hibernate

对于查询数据库的sql优化问题,这里有一个面试题,给你一个学生student表,叫你用各种方式查询出指定的学生信息

这里有五种方式得出指定学生2,3,4的信息

[sql]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. --方式一  
  2. select *  
  3. from student  
  4. where id in(2,3,4)  
  5.   
  6. --方式二  
  7. select *  
  8. from student  
  9. where id =2 or id=3 or id=4  
  10.   
  11. --方式三  
  12. select *  
  13. from student  
  14. where id between 2 and 4  
  15.   
  16. --方式四  
  17. select *  
  18. from student  
  19. where id>=2 and id<=4  
  20.   
  21. --方式五  
  22. select *  
  23. from student  
  24. where id=2  
  25. union  
  26. select *  
  27. from student  
  28. where id=3  
  29. union  
  30. select *  
  31. from student  
  32. where id=4  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值