hibernate面试题

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

hibernate是如何延迟加载

当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载

节省了服务器的内存开销,从而提高了服务器的性能

怎样实现类之间的关系

many-to-one  one-to-many many-to-many来实现类之间的关联关系的

三种状态之间如何转换

临时状态  直接new出来的对象 没有被持久化 不受session的管理

持久化状态  当调用session的save/update/get/load/list 等方法的时候 对象就是持久化

在数据库有对应的数据

受session的管理

当对象属性进行更改的时候,会反映到数据库中

游离状态

当session关闭了之后,持久化的对象就变成了游离状态了

不处于session的管理

数据库中有应用的记录

比较hibernate的三种检索策略优缺点

立即检索  lazy=false

优点 对程序完全透明,不管对象处于持久话状态

缺点 select 语句太多在载占用太多内存

延迟检索 lazy=true

优点提高检索性能,节省内存空间

缺点 如果想要访问游离状态代理类实例,必须保证在持久化状态已经被初始化

迫切左外连接检索 fetch=“join”

hibernate都支持那些缓存策略

read-only   read/wirte     read/write    transactional

sorted collection 内存中通过java比较器    ordered collection 通过order by

为了避免内存中对它们进行排序而出现java 中的 outofmemoryEoor 最好使用ordered collection

hibernate 缓存机制

一级缓存  只在session范围有效 减少数据库直接访问次数

如果想操作缓存内容 必须通过hibernate提供evit/clear方法

二级缓存 基于应用程序的缓存,所有的session都可以使用

可插配的缓存框架  只需要xml中配置

hibernate 查询方式  hql查询

criteria 查询   sql查询

优化hibernate

数据库设计调整

hql优化

api使用

映射文件优化

查询速度很慢的时候,如何优化

建检索    减少表之间的链接  优化sql,不要做全表查询,

简化查询字段

什么是sessionfactory 线程安全

写在最后

很多人感叹“学习无用”,实际上之所以产生无用论,是因为自己想要的与自己所学的匹配不上,这也就意味着自己学得远远不够。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。

最后祝愿各位身体健康,顺利拿到心仪的offer!

由于文章的篇幅有限,所以这次的蚂蚁金服和京东面试题答案整理在了PDF文档里

蚂蚁、京东Java岗4面:原理+索引+底层+分布式+优化等,已拿offer

蚂蚁、京东Java岗4面:原理+索引+底层+分布式+优化等,已拿offer

蚂蚁、京东Java岗4面:原理+索引+底层+分布式+优化等,已拿offer
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

[外链图片转存中…(img-37UTxwIy-1714426923740)]

[外链图片转存中…(img-tuoEzIog-1714426923741)]
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

  • 14
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值