`

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

分享到:
评论

相关推荐

    struts+spring+hibernate3+webligic812环境配置备忘录

    struts+spring+hibernate3+webligic812环境配置备忘录

    angularjs-hibernate-springmvc

    这是一个备忘录, 主要用angjularjs框架写的前台,bootstrap做的页面样式,页面跳转用了angular-ui-router这个模块插件。 后台主要用了springmvc和hibernate。这是我练笔的一个项目,由于时间关系有些功能没做,当中...

    code-memo:代码备忘录, 包含mybatis、spring、spring-boot、hbase、hive、guava、jdk等示例代码

    Code-memo 平时学习的开源框架的示例代码。包括mybatis、spring、spring-boot、hbase、...springboot、jpa、hibernate访问mysql,并提供restful接口 opensource-utils google guaua 使用示例,hbase访问接口以及hbase操

    SSH辅助教学系统jsp开发语言mysql数据库myeclipse设计java编程

    3.管理员用户:登录功能、退出功能、课程管理、作业管理、资料下载管理、选课管理、留言管理、备忘录管理、心得管理、班级管理、学院管理、系管理、教师管理、学生管理,拥有系统 最高权限。 三、注意事项 1、管理...

    the-apache-ignite-book:The Apache Ignite Book的所有代码示例,脚本和更深入的示例。 包括Apache Ignite 2.6或更高版本

    例如,备忘录部分的清单放置在章/ chapter-5 / memoization文件夹中。 这本书是关于什么的? Apache Ignite是使用最广泛的以开源内存为中心的分布式,缓存和处理平台之一。 这使用户可以将该平台用作内存计算框架...

    文明者:文明者-有效管理数据知识的工具

    :hot_beverage: 描述Civilizer是用于笔记或个人知识管理(PKM)的Web应用程序工作所需的知识/专长/技巧/窍门临时备忘录/笔记时间表/计划您经常为琐事而忘记的详细过程例如,在计算机上安装打印机驱动程序,提交纳税...

    java面试题目与技巧1

    │ │ j2sdk-1_4_2-doc.zip │ │ Java Programming Language (SL-275).txt │ │ langspec-3.0.zip │ │ SCJP Certification Training.htm │ │ SCJP 考纲.doc │ │ SL275_OH_GB.pdf │ │ Sun Certified ...

    java面试题以及技巧

    │ │ j2sdk-1_4_2-doc.zip │ │ Java Programming Language (SL-275).txt │ │ langspec-3.0.zip │ │ SCJP Certification Training.htm │ │ SCJP 考纲.doc │ │ SL275_OH_GB.pdf │ │ Sun Certified ...

    java面试题及技巧4

    │ │ j2sdk-1_4_2-doc.zip │ │ Java Programming Language (SL-275).txt │ │ langspec-3.0.zip │ │ SCJP Certification Training.htm │ │ SCJP 考纲.doc │ │ SL275_OH_GB.pdf │ │ Sun Certified ...

    java面试题及技巧3

    │ │ j2sdk-1_4_2-doc.zip │ │ Java Programming Language (SL-275).txt │ │ langspec-3.0.zip │ │ SCJP Certification Training.htm │ │ SCJP 考纲.doc │ │ SL275_OH_GB.pdf │ │ Sun Certified ...

    java面试题以及技巧6

    │ │ j2sdk-1_4_2-doc.zip │ │ Java Programming Language (SL-275).txt │ │ langspec-3.0.zip │ │ SCJP Certification Training.htm │ │ SCJP 考纲.doc │ │ SL275_OH_GB.pdf │ │ Sun Certified ...

    基于Java(SSH)+ionic + MySQL实现电子词典APP【100011513】

    后端使用 SSH 框架,用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的 Java 对象,然后编写基本的 DAO 接口,采用 Hibernate 架构实现的 DAO 类来实现 Java 类与数据库之间的转换和访问,最后由 ...

    自学oracle存储过程

    关于 Oracle 存储过程的若干问题备忘...........................................................................................4 1. 在 Oracle 中,数据表别名不能加 as。......................................

Global site tag (gtag.js) - Google Analytics