Hibernate基础知识:
Hibernate中持久化类符合JavaBean的规范,如果把get方法写成getname()或者getNAME(),会导致Hibernate在运行时抛出以下异常:
net.sf.hibernate.PropertyNotFoundException:Could not find a getter for property name in class mypack.XXXXXXX
如果持久化类的属性是boolean类型,那么他的get方法名可以用getXXX(),也可以用isXXXX()
无论是基于CMP的实体EJB,还是基于BMP的实体EJB,它们的共同特点都是在EJB容器中,而Hibernate支持的持久化类不过是普通的JAVA类,
它能够运行在任何一种Java环境中
DTD(Document Type Definition 文档类型定义)
它对XML文件的语法和格式做了定义,Hibernate的XML解析器将根据DTD来核对XML文件的语法.
每一个XML文件都有独立的DTD文件
文件映射:
映射文件xml一般以.hbm.xml结束,如果需要映射多个持久化类,那么既可以映射在同一个XML文件中,也可以为每一个类单独创建一个映射文件
,映射文件名和类同名,一般用一个类映射一个文件,因为在团队开发中,有利于管理和维护映射文件.
Hibernate采用XML文件来配置对象-关系映射,有以下优点:
Hibernate既不会影响到上层域模型,也不会影响到下层数据库模型
软件开发人员可以独立设计域模型,不必强迫遵守任何规范
数据库设计人员可以独立设计数据库模型,不必强迫遵守任何规范
对象-关系映射不依赖任何程序代码,如果需要修改对象-关系映射,只需要修改XML文件,不需要修改任何程序,维护更加方便
SessionFactory的内置缓存中存放了Hibernate配置信息和映射元数据信息等
Hibernate中的Session:
Session是一个轻量级对象,通常将每一个Session实例和一个数据库事务绑定,也就是说,每执行一个数据库事务,都应该先创建一个新的
Session实例,无论事务执行成功与否,最后都应该调用Session的close()方法,从而释放Session实例占有的资源.

