1.Hibernate工作原理和为什么要用?
原理:读取并解析配置文件
读取并解析映射信息,创建SessionFactory
打开Session
创建事务Transation
持久化操作
提交事务
关闭Session
关闭sessionFactory
作用:对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码
Hibernate 是一个基于JDBC的主流持久性框架,是一个优秀的ORM实现,它很大程度简化了Dao层的编码工作
Hibernate使用java反射机制,而不是字节码增强程序来实现透明性
它是一个轻量级框架,映射的灵活性很出色,它支持各种关系数据库
1.2 延迟加载 当Hibernate查询数据的时候,数据并没有存在内存中,当程序真正对数据进行操作时,对象才存在内存中,就现了延时加载,它节省了服务器内存开销,从而提高了服务器性能。
1.3Hibernate如何实现类之间的关系
类与类之间的关系主要体现在表与表之间的关系,他们都是对对象进行进行操作,把表和类都映射在一起,
1.4如何优化Hibernate
使用双向一对多关联,不使用单向一对多关联,
灵活使用单向一对多关联
配置对象缓存,不使用集合缓存
Spring是一个轻量级的容器,非侵入性的框架.最重要的核心概念是IOC,并提供AOP概念的实现方式,提供对持久层,事务的支持,对当前流行的一些框架
(Struts,Hibernate,MVC),Sping也提供了与它们的相整合的方案.使用Spring,我们能够减少类之间的依赖性和程序之间的耦合度,最大程度的实现松耦合,
使程序更加灵活,可扩展性更强.IOC,中文翻译为"反转控制,".DI->"依赖注入"指的是:我们不必自己在程序代码中维护对象的依赖关系,而是通过一个xml配置文件,
将类的属性和实例悄悄的注入到类里面.实现类的动态加载,使得类和类之间可以方便的切换(通过接口).这种设计方式的思想表现为:高层模块不应该依赖低层模块,
而是模块都必须依赖于抽象.程序不应改依赖于实现,而是依赖于抽象接口.