说明

  1. Session用于事务管理、增删查改等,相当于JDBC的Connection。可使用Transaction代替事务操作。
  2. Session只能通过SessionFactory获取
  3. Session不建议多线程共享使用。

事务管理

开启事务

1
session.beginTransaction();

事务提交

1
session.getTransaction().commit();

事务关闭

1
session.close();

使用Transaction代替session事务管理

详见 Hibernate结构:Transaction

查询

get

说明

通过主键值查找记录,并将记录自动赋值给该POJO对象

返回

POJO,当找不到该记录时,返回null

声明

1
get(POJO类名, 主键值);

示例

1
StudentEntity studentEntity = session.get(StudentEntity.class, "0123456");

load

说明

同get

get的区别

当找不到该记录时,抛出异常

删除

delete

说明

删除与指定POJO对象的主键对应的记录

返回

声明

1
delete(POJO对象)

示例

1
session.delete(studentEntity);

插入

save

说明

插入指定的POJO对象为一条记录

返回

主键

声明

1
save(POJO对象)

示例

1
2
StudentEntity studentEntity=new StudentEntity("0123456","male",32);
session.save(studentEntity);

更新

update

说明

将于指定POJO对象的主键相同的记录替换为该POJO对象

返回

声明

1
update(POJO对象);

示例

1
2
3
//将0123456对应的记录替换为{"0123456","male",28}
StudentEntity studentEntity=new StudentEntity("0123456","male",28);
session.upate(studentEntity);