1,Hibernate的初始化
Configuration cfg=new configuration();
cfg.configure();
SessionFactory sf=cfg.buildSessionFactory();
消耗比较大,因此一个程序最好只初始化一次。因此以上代码通常放在静态代码块里面
SessionFactory相当于jdbc中的ConnectionManagement。
Session在很多包里可以找到,现在推荐使用的是org.hibernate包中的session
2,Session中方法的介绍
clear,evcit 清除缓存
contains缓存中管理的对象
delete,删除对象
flush,session 和数据库同步数据
get方法,从数据库中拿数据,根据主键
session.get(User.class,id);
load方法,使用方法类似于get方法。区别在于,load不会立刻访问数据库,只有第一次使用的时候,
才会访问数据库.load语句会首先new一个对象,所以永远不可能为空。然后会在需要的时候才获取。
3,如果只是查询的操作,事务可以不打开
4,
Hibernate不适合用于对数据量巨大,对性能要求比较高的情形
最佳实践:
1, 尽量使用细粒度的对象。
2, 使用没有意义的id
3, 自然主键的使用
4, 尽量不要自己管理jdbc