Hibernate学习笔记之三

Hibernate学习笔记之三

单一主键
表中由某一列充当它的主键

  • assigned 由java应用程序负责生成(手工赋值)
  • native 由底层数据库自动生成标识符(MySQL为increasement,Oracle为sequence)。

基本时间类型
这里写图片描述

对象类型
这里写图片描述
(Mysql不支持标准SQL的CLOB类型,在Mysql中,用TEXT,MEDIUMTEXT和LONGTEXT类型表示长度超过255的长文本数据)

组件属性

  • 实体类中的某个属性属于用户自定义的某个类的对象
<component name="组件对象" class="组件类">
    <property name="属性1" column="列1">
    <property name="属性2" column="列2">
</component>

单表的增删改查

  • save()
  • update
  • delete
  • get/load(单个记录的查询)
User user=(User)session.get(User.class,x);
//通过反射得到要查询的表对应的类对象,x为要查询的记录的主键
//get方法返回Object对象,需要对类型进行强制转换
//load方法使用方法与get方法相同

get方法与load方法的区别:
1.不考虑缓存的情况下,get方法在调用之后立即向数据库发送sql语句,返回持久化对象。
load方法调用之后返回一个代理对象,只保存实体对象的id,直到使用该对象的非主键属性时才会发出sql语句。
2.查询数据库不存在的数据时,get方法返回null,load方法抛出异常org.hibernate.ObjectNotFoundException。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值