Hibernate
Couragefff
沉迷于code无法自拔而日渐消瘦
展开
-
Hibernate 的悲观锁和乐观锁
为什么需要锁(并发控制)?在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突。这就是著名的并发性问题。典型的冲突有:l 丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。l 脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。例如:用户A,B看到的值都是6,用户B把值改为2,用转载 2017-04-18 16:10:56 · 370 阅读 · 0 评论 -
Hibernate中的SessionFactoty 、Session、Configuration
Session接口 Session接口对于Hibernate 开发人员来说是一个最重要的接口。然而在Hibernate中,实例化的Session是一个轻量级的类,创建和销毁它都不会占用很多资源。这在实际项目 中确实很重要,因为在客户程序中,可能会不断地创建以及销毁Session对象,如果Session的开销太大,会给系统带来不良影响。但值得注意的是 Session对象是非线程安全的,因此原创 2017-04-16 20:37:08 · 496 阅读 · 0 评论 -
初学Hibernate,从建立项目,配置文件到实现对单表的增删改查
Hibernate是一种开源的ORM框架技术,ORM(Object Relational Mapping) Hibernate对JDBC进行轻量级的封装,使得java程序员可以随心所欲的使用面向对象的编程思想来操作数据库 hibernate所扮演的角色,如下图: 先大致了解一下hibernate的执行流程是什么样的: 下面我用IntelliJ IDEA 来演示建立一个Hibernat原创 2017-04-23 18:28:25 · 527 阅读 · 0 评论 -
Hibernate三种实体映射,从建表到操作代码
映射关联大致分为三种 : 一对一 ,一对多, 多对多 一.一对一drop table if exists husband;create table husband( id int not null primary key , hname varchar(20) not null collate 'utf8_bin');drop table if exists wife;c原创 2017-04-23 19:36:17 · 846 阅读 · 0 评论 -
hibernate和mybatis对比
第一方面:开发速度的对比就开发速度而言,Hibernate的真正掌握要比Mybatis来得难些。Mybatis框架相对简单很容易上手,但也相对简陋些。个人觉得要用好Mybatis还是首先要先理解好Hibernate。比起两者的开发速度,不仅仅要考虑到两者的特性及性能,更要根据项目需求去考虑究竟哪一个更适合项目开发,比如:一个项目中用到的复杂查询基本没有,就是简单的增删改查,这样选择hiberna原创 2018-04-24 09:17:46 · 352 阅读 · 0 评论