session对象详解

Session

在这里插入图片描述

Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。

Hibernate中Session对象是非线程安全的 ,不能定义成全局变量, 只能定义成局部变量。

Session代表的是Hibernate与数据库的链接对象,是与数据库交互的桥梁。

●Session中的API

    ■保存方法:

       ▲Serializable save(Object obj)   Serializable可序列话  其实是ID

     Customer customer = new Customer();
    	customer.setCust_name("cc");
    	try {
    		Serializable id = seesion.save(customer);
    		System.out.println(id);
		} catch (Exception e) {
			System.out.println(e);
			// TODO: handle exception
		}

结果:

■查询方法:
在这里插入图片描述

▲T get(Class c,Serializable id);
▲T load(Class c,Serializable id);
get 和load的区别 :

 get方法

采用的立即加载,代码执行的时候,就马上发送 sql语句去查询,查询后返回真正的实体,当查询一个找不到的对象会返回为null

 load方法

采用的是延时加载(lazy懒加载),代码执行到的时候,不发送sql语句,当真正用到对象时候才会发送sql.查询后是代理对象。javassist-3.18.1-GA.jar 利用javasisit技术的代理,查询一个找不到的对象 ,返回ObjectNotFoundException

■修改的方法:

   ▲void update(Object obj)

在这里插入图片描述

■删除的方法:

 ▲void delete(Object obj)

在这里插入图片描述

■保存或更新:

▲void saveOrUpdate(Object obj)

在这里插入图片描述

■查询:

▲ SQLQuery createSQLQuery(String queryString);

▲Query createQuery(String queryString);
写sql和hql都是可以的
在这里插入图片描述


作者:叫我18岁的骚年
来源:CSDN
原文:https://blog.csdn.net/q6658368/article/details/81181973
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东方-教育技术博主(接私活)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值