hibernate api理解学习
来源:互联网 发布:凡科域名 编辑:程序博客网 时间:2024/06/06 09:16
由上一篇的hibernate入门案例,可以看出,实际上只用到几个对象。
1、configuration 配置管理类的对象
Configuration config = newConfiguration()
config.configure(); 加载主配置文件的方法-----hibernate.cfg.xml 或者
config.congigure("cn/config/hibernate.cfg.xml"); 加载指定路径下面的主配置文件,注意路径
2、sessionFactory session的工厂对象(或者说代表了hibernate.cfg.xml配置文件)
SessionFactory sf =config.buildSessionFactory();
Session session = sf.openSession(); 创建一个session对象 或者Session session = sf.getCurrentSession(); 创建session或者取出session对象
3、session对象
其实session实际上内部维护者一个连接池Connection , 代表了与数据库的对话。
在hibernate中,只要使用与数据库相关操作,必须要用到session对象。
session的相关方法:
更新:
session.save(obj); 保存一个对象
session.update(emp); 更新一个对象
session.saveOrUpdate(emp); 保存或者更新的方法:(3种情况)
没有设置主键,执行保存;
有设置主键,执行更新操作;
如果设置主键不存在报错!
主键查询:
session.get(Employee.class, 1); 主键查询
session.load(Employee.class, 1); 主键查询 (支持懒加载)
4、transaction 事务
Transaction tx = session.beginTransaction(); 开启一个事务
hibernate要求所有的与数据库相关的操作必须有事务的环境,否则会报错。
常见问题:
如果程序执行程序,hibernate也有生成sql语句,但数据没有结果影响。
问题一般是事务忘记提交……. .commit();
完整的用法为:
publicvoid testHello() throws Exception { // 对象 Employee emp = new Employee(); emp.setEmpName("班长"); emp.setWorkDate(new Date()); // 获取加载配置文件的管理类对象 Configuration config = new Configuration(); config.configure(); // 默认加载src/hibenrate.cfg.xml文件 // 创建session的工厂对象 SessionFactory sf = config.buildSessionFactory(); // 创建session (代表一个会话,与数据库连接的会话) Session session = sf.openSession(); // 开启事务 Transaction tx = session.beginTransaction(); //保存-数据库 session.save(emp); // 提交事务 tx.commit(); // 关闭 session.close(); sf.close(); }
- hibernate api理解学习
- Hibernate核心API(理解)
- 深入理解hibernate中的API
- hibernate学习之Hibernate API
- hibernate---学习之二API
- hibernate学习之核心api
- FFmpeg学习笔记-API理解
- hibernate api文档的学习摘要day1
- hibernate学习:主要的API接口
- hibernate学习笔记01--基本API
- Hibernate学习07---Hibernate的Session-API实现CRUD
- Hibernate学习笔记——CoreAPI(Hibernate核心API)
- hibernate学习之三——hibernate核心API
- Hibernate基础学习(二)—Hibernate相关API介绍
- 如何理解和学习MAYA API
- Hibernate学习笔记之体系结构的理解
- Hibernate入门学习之配置文件的理解
- Rest API 学习笔记 --- 深入理解 Restful API 架构
- sqlserver语法点滴
- Tensorflow 可视化 Tensorboard 1
- 1.2 为什么选择Key-Value Store
- Cookie常用操作以及属性
- push-推送部署统计数据重复-问题处理
- hibernate api理解学习
- 第二周 项目4 汉诺塔
- TK1/TX1 Gstreamer 测试命令
- bootstrap-table pageList all不能显示全部数据
- C# 小数点后保留两位小数,四舍五入的函数及使用方法
- Java多线程--并发中集合的使用之ConcurrentSkipListMap
- mybatis逆向工程
- 纯CSS实现文字一行居中,多行左对齐的方法
- TCP/IP 协议