hibernate
明月几时有1116
这个作者很懒,什么都没留下…
展开
-
Hibernate annotation
1) assigned [转让主键生成权]主键由外部程序负责生成,无需Hibernate参与。2) hilo 通过hi/lo 算法实现的主键生成机制,需要额外的数据库表保存主键生成历史状态。3) seqhilo与hilo 类似,通过hi/lo 算法实现的主键生成机制,只是主键历史状态保存在Sequence中,适用于支持Sequence的数据库,如Oracle。原创 2012-08-02 09:23:06 · 672 阅读 · 0 评论 -
ibatis与hibernate有什么区别
iBatis的sql语句需要自己手动写,而Hibernate能够在程序运行时自动生成。但是不要就这样以为Hibernate比iBatis方便,其 实二者熟悉之后的效率差不多。而Hibernate还能够自动建表等等,这样的好处就在于你带着这个程序,无论到什么机器上,你都不需要数据库,应为它能 自动为你完成,而iBatis就必须要有相应的数据库表才能进行移植Hibernate的特点:Hiber转载 2014-03-02 17:57:38 · 639 阅读 · 0 评论 -
Hibernate三种状态的区分,以及save,update,saveOrUpdate,merge等的使用
Hibernate的对象有3种状态,分别为:瞬时态(Transient)、 持久态(Persistent)、脱管态(Detached)。处于持久态的对象也称为PO(Persistence Object),瞬时对象和脱管对象也称为VO(Value Object)。 瞬时态 由new命令开辟内存空间的java对象, eg. Person person = n转载 2014-03-01 16:17:28 · 506 阅读 · 0 评论 -
Hibernate get和load区别
get和load方式是根据id取得一个记录下边详细说一下get和load的不同,因为有些时候为了对比也会把find加进来。 1.从返回结果上对比:load方式检索不到的话会抛出org.hibernate.ObjectNotFoundException异常get方法检索不到的话会返回null 2.从检索执行机制上对比: get方法和find方法都是直接从数转载 2014-03-01 16:25:36 · 510 阅读 · 0 评论 -
hibernate之基本操作(增,删,改,查)
编写配置文件 hibernate-cfg.xml "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> org.hibernate转载 2014-03-01 16:05:34 · 636 阅读 · 0 评论 -
session管理(一)
Session并非线程安全共享变量session实现Session的重用,避免了每次操作都要重新创建,但是多个线程同时使用一个Session实例进行数据存取,则将会导致Session 数据存取逻辑混乱 public class TestServlet extends HttpServlet { private Session session; public v转载 2013-03-30 18:30:55 · 944 阅读 · 0 评论 -
session管理(二)
Spring提供许多Template对各种底层ORM等进行集成,如JdbcTemplate、HibernateTemplate、JpaTemplate等同时也提供了相应的Dao模板类,如JdbcDaoSupport、HibernateDaoSupport、JpaDaoSupport等既然说Spring对Hibernate的集成,就得看HibernateTemplate和HibernateDao转载 2013-03-30 20:05:54 · 911 阅读 · 0 评论 -
hibernate 基于JDBC的事务管理
Hibernate是JDBC的轻量级封装,本身并不具备事务管理能力,在事务管理层,Hibernate将其委托给底层的JDBC或者JTA,以实现事务的管理和调度。1.执行数据库事务 每个数据库连接都有个全局变量@@autocommit,它有两个可选值: 1:默认值,表示自动提交模式。 每个SQL语句是一个独立的事务。0:表示手工提交模式。在手工提交模式下,必须显式指定事务原创 2012-09-04 14:46:31 · 1212 阅读 · 0 评论 -
hibernate 基于JPA的事务管理
JTA提供了跨Session的事务管理能力,这是与JDBCTransaction最大的差异。 JDBC事务由Connection管理,也就是说,事务管理实际上是在JDBC Connection中实现,事务周期限于Connection的生命周期之内,对于基于JDBC Transaction的Hibernate事务管理机制,事务管理在Session所依托的JDBC Connection原创 2012-10-09 10:26:09 · 2496 阅读 · 0 评论 -
spring+hibernate声明式事务管理
声明式事务管理是spring对事务管理的最常用的方式,因为这种方式对代码的影响最小,因此也符合非侵入性的轻量级容器的概念。Spring的事务管理是通过AOP的方式来实现的,因为事务方面的代码与spring的绑定并以一种样板式结构使用。在理解spring声明式事务管理我们首先要理解他是通过AOP怎么具体实现的。其中的事务通知由元数据(目前基于xml和注解)驱动。代理对象由元数据结合产生一个新的代理对转载 2012-09-04 19:54:24 · 1502 阅读 · 0 评论 -
hibernate session缓存机制
Hibernate向我们提供的主要的操纵数据库的接口,Session就是其中的一个,它提供了基本的增,删,改,查方法.而且具有一个缓存机制,能够按照某个时间点,按照缓存中的持久化对象属性的变化来更新数据库,着就是Session的缓存清理过程.在Hibernate中对象分为三个状态,临时,持久化,游离.如果我们希望JAVA里的一个对象一直存在,就必须有一个变量一直引用着这个对象.当这个变量没了.对象转载 2012-09-04 20:20:12 · 11467 阅读 · 2 评论