Hibernate框架学习要点(一)

来源:互联网 发布:物联网域名注册 编辑:程序博客网 时间:2024/06/01 13:16

hibernate框架学习

1.每一个Hibernate配置文件对应一个Configuration对象,且最好一个持久化对象对应一个配置文件

2.Hibernate自带的数据库连接池仅有测试价值,不推荐使用。实际项目可以使用C3P0;
注:即在hibernate.cfg.xml文件中不用设置属性hibernate.connection.pool_size;

3.对持久化类的要求:(1)类需要提供一个无参构造器
(2)类中需要提供一个标志属性
(3)为持久化对象每个属性提供setter和getter方法;
(4)使用非final类,若使用了final类,hibernate无法生成代理,无法进行性能优化;
(5)尽量重写equal()和hashcode();

4.持久化对象的三个状态:(1)瞬时:对象已经用new操作符创建出来,但是没有和hibernate session进行关联,瞬时对象不会被持久化到数据库中,也不会被赋予持久化标志;
(2)持久化对象:这个时候,对象已经和hibernate session相关联,并拥有一个持久化标志,hibernate会自动检测持久化对象的改动,在当前操作执行完成时讲对象数据写会数据库;
(3)脱管:某个实例曾经处于持久化状态,但是随着与之相关联的session的关闭,持久化对象变成脱管状态。脱管对象的引用依然有效,重新让托管对象与某个session相关联,这个脱管对象又会变成持久化对象;

5.改变持久化对象的方法:
这里写图片描述

6.几乎所有的数据库建模理论都推荐不要使用具有实际意义的物理主键,而是推荐使用没有任何实际意义的逻辑主键。尽量考虑避免使用复杂的物理主键,应考虑微数据库添加一列,作为逻辑主键。注:在hibernate映射文件中设置标志属性时,采用< generator class=”native”/>

原创粉丝点击