1.session:是hibernate操作数据库的一个核心的接口。session中包装了一个connection
session接口中有一个get(class user.class,int id)方法【经常要使用】,可以通过主键Id得到一条记录(对象)
Class userClass = User.class;
User user = (User)sessioin.get(userClass,id);
对上面两行代码,也可以这么理解,由于session可以管理多个数据库表所对应的多个实体对象,如果要查询id为1的实体对象,
Session.get()方法需要知道从哪个数据库表中查询id为1的记录,所以,除了给get方法传递所要查询的实体对象的id值外,
还必须给get方法传递实体对象的类型,get方法才能知道去哪个数据库表中进行查询。
2.session接口中还有一个load(class ,id),与get方法的参数是一样的。区别是它不会立刻去访问数据库,在底层不会产生sql语句,
在第一次需要用到数据库的时候,底层才会输出sql语句。这就是懒加载。
3.session接口中的persist()方法,与save()方法是一样的。只是在不开启事务时有区别:
save():当不开启事务时,该方法在会把记录插入在数据库中,然后又会进行回滚。最后,在数据库中还是没有记录
persist():当不开启事务时,该方法根本不会把记录插入到数据库中。该方法用得较少
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。