Hibernate整理

Hibernate 问题:

Hibernate 的工作原理
①. 通过Configuration config = new Configuration().configure(); // 读取并解析hibernate.cfg.xml配置文件

②. 由hibernate.cfg.xml中的< mapping resource=“com/xx/User.hbm.xml”/>读取并解析映射信息

③. 通过SessionFactory sf = config.buildSessionFactory(); //创建SessionFactory

④. 通过sessionFactory.openSession获取session

⑤. 通过session.beginTransaction开启事务

⑥. 操作数据

⑦. 提交事务

⑧. 关闭session和sessionFactory

Hibernate 的优缺点
优点:

JDBC访问数据库的代码做了封装,简化了数据访问层繁琐的重复性代码

映射的灵活性, 它支持各种关系数据库, 从一对一到多对多的各种复杂关系.

非侵入性、移植性会好

缓存机制,提供一级缓存和二级缓存

缺点:

无法对 SQL 进行优化

框架中使用ORM原则, 导致配置过于复杂

执行效率和原生的 JDBC 相比偏差:,特别是在批量数据处理的时候

不支持批量修改、删除

Hibernate 的优缺点
①. 临时状态(新建状态):不处于session缓存中

②. 持久化状态:加入到session缓冲中

③. 游离状态:已经被持久化,但不在session的缓存中

Hibernate如何延迟加载

当调用 session的load()方法加载实体类时,就会延迟加载

Hibernate进行大批量更新的经验

直接通过JDBC API执行相关的SQL语句或者调用相关的存储过程是最佳的方式
### PyCharm 打开文件显示全的解决方案 当遇到PyCharm打开文件显示全的情况时,可以尝试以下几种方法来解决问题。 #### 方法一:清理缓存并重启IDE 有时IDE内部缓存可能导致文件加载异常。通过清除缓存再启动程序能够有效改善此状况。具体操作路径为`File -> Invalidate Caches / Restart...`,之后按照提示完成相应动作即可[^1]。 #### 方法二:调整编辑器字体设置 如果是因为字体原因造成的内容显示问题,则可以通过修改编辑区内的文字样式来进行修复。进入`Settings/Preferences | Editor | Font`选项卡内更改合适的字号大小以及启用抗锯齿功能等参数配置[^2]。 #### 方法三:检查项目结构配置 对于某些特定场景下的源码视图缺失现象,可能是由于当前工作空间未能正确识别全部模块所引起。此时应该核查Project Structure的Content Roots设定项是否涵盖了整个工程根目录;必要时可手动添加遗漏部分,并保存变更生效[^3]。 ```python # 示例代码用于展示如何获取当前项目的根路径,在实际应用中可根据需求调用该函数辅助排查问题 import os def get_project_root(): current_file = os.path.abspath(__file__) project_dir = os.path.dirname(current_file) while not os.path.exists(os.path.join(project_dir, '.idea')): parent_dir = os.path.dirname(project_dir) if parent_dir == project_dir: break project_dir = parent_dir return project_dir print(f"Current Project Root Directory is {get_project_root()}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值