Hibernate备忘录-1

A org.hibernate.SessionFactory is used to obtain org.hibernate.Session instances. A org.hibernate.Session represents a single-threaded unit of work. The org.hibernate.SessionFactory is a thread-safe global object that is instantiated once.

 

If you give the org.hibernate.SessionFactory a name in your configuration, Hibernate will try to bind it to JNDI under that name after it has been built. Another, better option is to use a JMX deployment and let the JMX-capable container instantiate and bind a HibernateService to JNDI. Such advanced options are discussed later.

 

 

1.通过用户类库来组织框架的Jar包集体导入,方便管理

 

2.各个版本的的jar下载地址:http://sourceforge.net/projects/hibernate/files/

 

3.hibernate-annotations-3.4.0.GA下载地址:

 http://www.brothersoft.com/hibernate-annotations-download-69011.html

当要使用annotation:

hibernate-annotations.jar

hibernate-commons-annotations.jar

ejb3-persistence.jar

 

4.在Hibernate 2.x里,多数情况下表示映射关系的元数据保存在XML文本文件中. 还有一种方式就是Xdoclet,它可以在编译时利用Javadoc中的源码注释信息来进行预处理. 现在新的JDK标准(JDK1.5以上)也支持类似的注解功能,但相比之下很多工具对此提供了更强大更好用的支持. 以IntelliJ IDEA和Eclipse为例,这些IDE工具为JDK 5.0注解功能提供了自动完成和语法高亮功能. 注解被直接编译到字节码里,并 在运行时(对于Hibernate来讲就是启动的时候)通过反射读取这些注解, 因此外部XML文件就不再需要了.

 

5.为了简化从hbm文件到注解的迁移过程, 配置机制将自动检测在注解和hbm文件中重复的映射。 默认情况下hbm文件中的声明比类中的注解元数据具有更高的优先级。 这种优先级的设定是以类为单位的。 你也可以通过hibernate.mapping.precedence修改这种优先级。 默认的值是hbm, class, 如果改为class,hbm,当发生冲突的时候,类中的注解将比hbm文件具有更高的优先级.

 

6.JPA是一组接口规范,欲"统一天下",此规范,hibernate的作者也参与

 

7.slf4j,萨拉风4j,哈哈,读法有趣,slf是一组接口规范,又是规范,又是标准,厉害

 

8.SessionFactory-线程安全,Session-线程不安全

 

9.当<gererator的class为native时,会根据指定的dialect来生成主键,毕竟不同数据库有不同实现方式,identity也符合mysql的方式

 

10.当<gererator的class为assigned时,意味着我们需要自己写代码类生成键值(也就是业务主键)

 

11.hibernate把JDBC的checked exception转换成unchecked exception,因此上层代码操作起来很清爽

 

12.hibernate根据dialect来生成sql,所以dialect设置很重要

 

13.当要通过反射来实例化一个类的时候,记得要有无参构造函数,ibatis的时候,曾经碰到过这个问题,现在印象深刻了

 

14.<property name="current_session_context_class">thread</property>
只能通过getCurrentSession()获得Session,这样的session适合在多线程中解决数据共享的问题,不容易出共享混乱

 

15.
get()-->一级缓存-->db-->null;
load()-->一级缓存--->2级缓存-->db-->exception

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值