3.1参考手册学习摘要(一)
来源:互联网 发布:彩票网络销售是什么鬼 编辑:程序博客网 时间:2024/05/18 03:06
hibernate3.2中文参考手册,下载地址http://wiki.redsaga.com,感谢翻译者的无私奉献.
1.必需的包
antlr.jar,cglib.jar,asm.jar,asm-attrs.jars,commons-collections.jar,
commons-logging.jar,hibernate3.jar,jta.jar,dom4j.jar,log4j.jar
2.自动匹配映射
<hibernate-mapping>
<class name="events.Event" table="EVENTS">
<id name="id" column="EVENT_ID">
<generator class="native"/>
</id>
<property name="date" type="timestamp" column="EVENT_DATE"/>
<property name="title"/>
</class>
</hibernate-mapping>
title的映射没有column属性,这时hb自动映射到相同名称列上,即映射到表EVENTS的title列上.本行也没有type属性,hb自动进行类型转换.
3.启动报错
java.lang.NoClassDefFoundError: antlr/ANTLRException
原因:antlr-2.7.6.jar,不是ant-antlr-1.6.5.jar,替换为正确的包后运行正常.
4.hibernate.cfg.xml
<property name="hbm2ddl.auto">update</property>
此处控制在运行时是否重建表
5.对于POJO类,必须有一个无参数的构造函数,以便利用反射机制实例化这个类.
6.hb在启动时会自动在classpath的根查找名为hibernate.cfg.xml的配置文件.
7.在系统中一般用单例模式设计对SessionFactory的获取.
7.在hibernate.cfg.xml中配置为"thread",表示程序中从sessionFactory.getCurrentSession()后,session的生命周期开始,并被绑定到当前线程上.当事务提交或回退时,hb将session从线程上剥离并关闭它.如果再一次getCurrentSession(),会得到一个新的session,并开始新的一个工作单元.
8.在hb中,不管是哪种DML语句都必须放在事务中运行,即使是SELECT查询语言.
9.同步内存状态和数据库的过程,通常只在单元操作结束的时候发生,称此过程为清理缓存(flushing).
10.调用update(obj)可以使用脱管的obj对象重新持久化.
?11.所谓的值类型,简而言之就是没有相应POJO类,在.hbm.xml没有定义成class的类型?如果定义成n-to-n的关系,class属性的值无法指明(因为没有相应的POJO类).
12.在一个双向关系中,为了帮助hb正确地执行INSERT和UPDATE(以避免违反数据库约束),需要设置inverse属性.一对多关联中必须设在many那端,多对多可以任选取一端设置.
13.一个servlet开启多个thread,每一个thread绑定一个session,每一个session里可以包含多个(交叉或非交叉的)事务.
- 3.1参考手册学习摘要(一)
- 3.1参考手册学习摘要(二)
- 3.1参考手册学习摘要(三)
- 3.1参考手册学习摘要(四)
- XHTML学习摘要一
- PMBOK学习摘要一
- 学习HTML摘要一
- C#学习摘要之(一)
- struts2学习笔记摘要一
- OOA&OOD学习摘要(一)
- linux 下 shell 学习摘要(一)
- C++ Primer 第五版 学习摘要(一)
- Android 学习历程摘要(一)
- 自定义View学习摘要笔记(一)
- 学习摘要
- 学习摘要
- eclipse 参考手册 (一)
- 我的JNI学习摘要(一) ---- JNI初体验
- 五一了!
- JS的正则表达式
- MyEclipse 5.0 + WebLogic 9.2 配置详解
- 长相思 (下)
- 很有用的页面间传值方法
- 3.1参考手册学习摘要(一)
- 关于自定义成员资格和角色管理授权提供程序的问题
- 我终于用到了泛型
- 如何在linux下编写自己得rpc调用
- Session详解2
- 软件测试常用单词
- Session详解1
- JavaScript的方法和技巧
- insertAdjacentHTML用法及例子