Hibernate学习笔记(3):session的get、load、delete方法和Query的简单使用

Hibernate学习笔记(3):session的get、load、delete方法和Query的简单使用

session的方法

get方法:
返回的对象是persistent对象
调用时发出查询sql
查不到返回null
实例:
User user = (User)session.get(User.class, 1);
第二个参数为主键,如果是主键生成策略是uuid,则应传一个字符串,上面是native生成的,所以用传的是int

load方法
返回的对象是persistent对象
调用延迟加载,原理是用CGLIB生成代理类,采用继承,生成子类
真正使用对象的时候才发出查询sql语句
如果查找不到会产生异常
实例:
User user = (User)session.load(User.class, 1);

delete方法
使用Session.delete()会把对象的状态从数据库中移除。 当然,你的应用程序可能仍然持有一个指向已删除对象的引用。所以,最好这样理解:delete()的用途是把一个持久实例变成瞬时(transient)实例。
实例:
session.delete(user);


Query简单使用
//创建query,参数为HQL语句
Query query = session.createQuery("from User");
//分页
query.setFirstResult(0);
query.setMaxResults(2);
//获取选出的记录
List list = query.list();

你可能感兴趣的:(Hibernate学习笔记(3):session的get、load、delete方法和Query的简单使用)