这里简单记录一下我对hibernate的理解
hibernate是一个ORM框架,是对JDBC的封装。目的就是简化对数据库表访问的操作。
ORM的意思是对象关系的映射,通过实体类与数据表建立映射,就可以通过持久层操作来代替sql语句操作数据库。
hibernate的核心原理就是对象关系映射(ORM),就是通过java的反射机制来实现。
java反射机制:在java运行状态中,对于任何一个类,都能够知道这个类的所有属性和方法,就是对于任意一个对象都能够调用他的任意属性和方法,这种动态获取信息以及动态调用的方法就是功能就是java的反射机制。
以上这些就是hibernate的核心原理,接下来说说hibernate的配置文件
hibernate.cfg.xml用来存储链接数据库的信息(包括指定链接数据库的驱动,常用的mysql、sqlserver、oracle分别对应的是com.mysql.jdbc.Driver、com.microsoft.sqlserver.jdbc.SQLServerDriver、oracle.jdbc.driver。加载好驱动后设置路径,端口号分别是3306、1433、1521。接下来就是数据库的用户名和密码)
如果用注解的话就可以直接在实体类中用@Entity、@Table、@Id等来直接映射数据库表
否则就得使用XML来进行配置:tablename.hbm.xml配置实体和数据库之间的关联关系
接下来说说hibernate的核心类
Session接口:负责持久化对象的CRUD操作也就是增删改查
SessionFactory:负责初始化hibernate
Configuration:负责配置并启动hibernate
Transcation:负责事务
criteria和query:负责执行各种查询
接下来说一下对象得几个状态:
我是怎么理解得
第一种 和数据库表建立好关系得 也就是持久化状态
第二种 没有建立好关系得,瞬时状态。
第三种 因为某种操作 数据库没有了想对象得表,但是已经进行过持久化,那么这个时候就是游离状态