HIbernate 基础

1.标识符
表示符号生成器描述
increment适用于代理主建,由Hibernate自动以递增的方式生成标识符号,每次递增1
identity 适用于代理主键,由底层数据库生成标识符,前提是底层数据库支持自动增长字段类型
sequence适用于代理主键,Hibernate根据体层数据库的序列来生成标识符,前提是数据库支持序列
hilo适用于代理主键,Hibernate根据high/low 算法来生成标识符,将特定表字段作为high值,默认情况下选用hibernate_unique_key 表next_hi字段
native适用于代理主键,根据底层数据库自动生成标识符的支持能力来选择identity,sequence或者 hilo
uuid.hex 适用于代理主键,Hibernate采用128为的UUID算法类生成标识符,UUID算法能够在网络环境中生成唯一的字符串标识符,字符串标识符的主键比整数的主键更多的数据空间,所以选择这种标识符生成策略不流行
assigned使用自让主键,有java应用程序负责生成标识符,为了使java应用程序设置OID,不能将setID()方法声明为private类型,应该尽量避免使用自然主键.


2.class元素的属性

name:对应持久化类
table:对应数据库表名
dynamic-update:动态更新,默认为false,指定用于update的sql将在运行时动态的生成且只改变更改过的字段
dynamic-insert:动态插入,知道用于insert语句的动态生成,并且值插入非空的值
select-before-update:执行update之前先执行select语句,若没有修改则不进行update,这通常会影响性能,但是可以防止对upate触发器进行不必要的触发.
lazy:延迟加载,默认为true;


3.configuration 对象用于读取配置文件并且创建SessionFactory对象,
  configuration con=new Configuration().configure();

4.SessionFactory 对应一个数据存储源,线程安全, 重量级
  SessionFactory factory=con.buildSessionFactory();

5.session 非线程安全,轻量级,
  Session session=factory.openSession();

6.Transaction  必须关闭
  在对数据据进行增加,修改,删除的操作时候,必须添加Transaction
  Transaction tr=session.beginTransaction();
  tr.commit();
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值