- 0
- 0
- 约4千字
- 约 4页
- 2021-01-28 发布于河北
- 举报
Hibernate面试十大理论题
请简述hibernate开发程序的优势
Hibernate是一个数据持久化框架,它封装了jdbc简化了对数据库的相关操作,它是一个ORM(对象-关系映射模型)的实现,使面向对象程序能够更好的操作关系型数据库,它提供了丰富的查询方式(hql,本地sql,criteria)和多种数据加载机制以及数据缓存机制,能够提高程序的性能,减少系统的开销。
简述hibernate环境的搭建
导入hibernate相关的jar包
然后配置hibernate.cfg.xml文件
编写相关的实体映射文件(类→表)(属性→列名)
将实体映射文件加入到hibernate.cfg.xml中
简述hibernate配置实体映射文件的内容
根节点是hibernate-mapping,下面有class节点,class节点的name属性对应的是实体映射文件的路径,table属性是实体所对应的数据库表的表名。Class下面有id和property,id是配置数据库表中主键对应的类的属性,property是配置数据库表的其他列对应的类的属性,属性type是对应的类型,name对应是类的属性名。下面的column的属性name对应的是数据库的列名,id下面还有generator属性是主键的类型,其中常用的有assigned是自定义主键,identity是sql数据库自动生成,sequence是Oracle数据库自动生成,sequence还要配置param调用哪个序列。如果有多对一要配置many-to-one/many-to-one节点,一对多要配置set/set节点。
Hibernate的运行机制
根据Java类和数据库表的映射关系配置,依赖Java的反射机制,xml解析技术和jdbc完成对象与数据库之间数据的转换操作,以及对象的关系操作,通过解析配置文件将发出的数据库操作指令转换成为相应的sql语句来完成操作。
请列举hibernate核心借口和类,以及作用和常用方法
Hibernate的核心接口有:
Configuration:配置并启动hibernate,它的configure()是读取映射信息到内存,buildSessionFactory方法是创建sessionFactory实例,把configuration对象包含的所有配置信息拷贝到sessionFactory缓存中。
Sessionfactory:负责初始化hibernate,它的openSession方法是负责创建session对象。
Session:负责执行持久化对象的CRUD操作,它的beginTransaction()方法是开始事务。它有save(保存),update(更新),delete(删除),get(查询),load(查询)等方法。
Transaction:负责事务的相关操作。
Query,SQLQuery,Criteria:负责执行各种数据库操作。它可以使用HQL语言或SQL语句两种表达方式。
核心类restrictions,它为criteria查询提供约束条件。
Hibernate操作持久化数据的基本步骤
读取并解析配置文件
Configuration cfg=new Configuration();
读取并解析映射信息,创建sessionFactory对象
SessionFactory factory=cfg.buildSessionFactory();
得到session
Session session=factory.openFactory();
开始事务(增删改必须,查可选)
session.beginTransaction();
数据库操作
Crud….
提交事务(回滚事务)
session.getTransaction().commit();
// session.getTransaction().rollback();
关闭session
session.close();
使用3种方式查询A表中第5行到第10行的数据并按照C列排序
Configuration cfg=new Configuration();
SessionFactory factory=cfg.buildSessionFactory();
Session session=factory.openFactory();
try{
session.beginTransaction();
String hql=”from A order by C”;
Query query=session.createQuery(hql);
Query.setFirstResult(5);
Query.setMaxResult(5);
List list=query.list();
String
原创力文档

文档评论(0)