要实现一个简单的功能,通过Hibernate来向mysql数据库中插入一条记录,即要将一个对象持久化到数据库中。通过查阅发现Hibernate的Session对象有个save()方法可以解决上面的需求。
public void add(Music music) { Session session = sessionFactory.openSession(); try { session.save(music); } finally { session.close(); } }
调用这个方法时,Hibernate没有报任何异常,也没有打印SQL语句,数据库里没有增加记录,尝试了几次数据库依旧没有增加任何记录。后来通过查阅资料发现需要增加一条语句
session.flush();
但是当通过HQL语句进行更新数据操作的时候不需要调用session.flush()方法就可以提交
public void update(Music music) { Session session = sessionFactory.openSession(); try { session .createQuery( "update Music as music set music.name=:name where music.id=:id ") .setParameter("name", music.getName()) .setParameter("id", music.getId()).executeUpdate(); } finally { session.close(); } }
因为只是更新部分字段的值,所以采用了HQL语句这样的方式,使用session.update()方法是更新整个对象除了Id的所有属性值,使用update()和save()一样需要flush()方法来提交更新数据操作。
相关推荐
Hibernate对象状态以及各种保存方法的区别
NULL 博文链接:https://sxpujs.iteye.com/blog/368960
6.3 Hibernate用对象标识符(OID)来区分对象 6.4 Hibernate的内置标识符生成器的用法 6.4.1 increment标识符生成器 6.4.2 identity标识符生成器 6.4.3 sequence标识符生成器 6.4.4 hilo标识符生成器 ...
本章还将介绍通过Hibernate API来保存、修改和删除具有关联关系的对象的方法。 7.1 建立多对一的单向关联关系 148 7.1.1 [many-to-one]元素的not-null属性 153 7.1.2 级联保存和更新 155 7.2 映射一对多双向关联...
Hibernate持久化对象的生命周期 持久化对象的状态: 瞬时对象(Transient Objects)持久化对象(Persist Objects)、离线对象(Detached ...在Hibernate应用中Java对象的状态 Session的保存、更新、删除、查询方法:
反射对象生成sql,保存对象。 里面还差,存储过程、批量操作、动态sql 还差一个配套的工具(根据数据库字段生成对象)
本章还将介绍通过Hibernate API来保存、修改和删除具有关联关系的对象的方法。 7.1 建立多对一的单向关联关系 148 7.1.1 [many-to-one]元素的not-null属性 153 7.1.2 级联保存和更新 155 7.2 映射一对多双向关联...
hibernate的各种保存方式的区别以及hibernate对象的三种状态[定义].pdf
hibernate面向对象树型结果开放实例
持久态:用session的相关方法将瞬时态对象保存到数据库中与数据库相关联的对象 3.脱管态:将持久态对象所关联的session关闭后,该持久态对象即变为脱管态对象 二.ORM:ORM是对象到关系的映射(Object Relational ...
第9课 Hibernate的重点学习:Hibernate的对象关系映射 12 一、对象---关系映射模式 12 二、常用的O/R映射框架: 13 第10课 模拟Hibernate原理(OR模拟) 13 一、 项目名称 13 二、 原代码 13 第11课 Hibernate基础配置...
6.3 Hibernate用对象标识符(OID)来区分对象 6.4 Hibernate的内置标识符生成器的用法 6.4.1 increment标识符生成器 6.4.2 identity标识符生成器 6.4.3 sequence标识符生成器 6.4.4 hilo标识符生成器 ...
6.3 Hibernate用对象标识符(OID)来区分对象 6.4 Hibernate的内置标识符生成器的用法 6.4.1 increment标识符生成器 6.4.2 identity标识符生成器 6.4.3 sequence标识符生成器 6.4.4 hilo标识符生成器 ...
Hibernate实体对象继承的方法 hibernate继承策略总共有三种,一种是共用一张表;一种是每个类一张表,表里面储存子类的信息和父类的信息;还有一种是通过表连接的方式,每个类都有一张表,但是子类对应的表只保存...
这是关于SSH框架的技术,主要是关于Hibernate如何保存对象到数据表
6.3 Hibernate用对象标识符(OID)来区分对象 6.4 Hibernate的内置标识符生成器的用法 6.4.1 increment标识符生成器 6.4.2 identity标识符生成器 6.4.3 sequence标识符生成器 6.4.4 hilo标识符生成器 ...
10.1. Hibernate对象状态(object states) 10.2. 使对象持久化 10.3. 装载对象 10.4. 查询 10.4.1. 执行查询 10.4.2. 过滤集合 10.4.3. 条件查询(Criteria queries) 10.4.4. 使用原生SQL的查询 10.5. 修改...