Hibernate API

Configuration:配置管理类对象

config.configure():加载主配置文件的方法(hibernate.cfg.xml),默认加载src/hibernate.cfg.xml
config.configure("cn/config/hibernate.cfg.xml"):加载指定路径下指定名称的主配置文件
config.buildSessionFactory():创建session的工厂对象

SessionFactory:session的工厂(或者说代表了这个hibernate.cfg.xml配置文件)

sf.openSession():创建一个session对象
sf.getCurrentSession():创建或取出session对象

Session:session对象维护了一个连接(Connection),代表了与数据库连接的会话。Hibernate最重要的对象;只要使用hibernate与数据库连接操作,都要用到这个对象。

session.beginTransaction():开启一个事务;Hibernate要求所有对数据库的操作都要有事务的环境,否则报错!

更新

session.save(obj):保存一个对象
session.update(obj):更新一个对象
session.saveOrUpdate(obj):没有设置主键执行保存,有设置主键更新;如果设置主键不存在报错!

主键查询

session.get(Object.class, 1);主键查询
session.load(Object.class, 1):主键查询(支持懒加载)

HQL查询

HQL查询与SQL查询区别:SQL查询的是表以及字段;HQL:hibernate query language即hibernate提供的面向对象的查询语言,查询的是对象以及对象的属性。区分大小写。

Criteria查询

也叫QBC查询,query by criteria 完全面向对象的查询

本地SQL查询

复杂的查询,就要使用原生态的SQL查询,也可以,就是本地SQL查询
缺点:不能跨数据库查询

Transaction:Hibernate事务对象

共性问题

ClassNotFoundException

缺少jar文件

如果程序已执行,也执行了SQL语句,但是数据库没有结果

事务是否没开启

posted @ 2016-05-01 21:49  yly123  阅读(138)  评论(0编辑  收藏  举报