摘要: 乐观锁大多数基于数据版本记录机制(version)实现,一般是在数据库表中加入一个version字段读取数据时将版本号一同读出,之后更新数据时版本号加一,如果提交数据时版本号小于或等于数据表中的版本号,则认为数据是过期的,否则给予更新优点:并发性比较好 T_inventory 1001 nao 1000- 8000 - 1 用户1 itemNo = 1001 itemName= nao quant... 阅读全文
posted @ 2009-05-06 21:50 IT Person 阅读(335) 评论(0) 推荐(0)
摘要: component映射在hibernate中,component是某个实体的逻辑组成部分,它与实体的根本区别是没有oid,component可以成为是值对象(DDD)采用component映射的好处:它实现了对象模型的细粒度划分,层次会更分明,复用率会更高 <class name="com.bjsxt.hibernate.User" table="t_user"> <id nam... 阅读全文
posted @ 2009-05-06 21:49 IT Person 阅读(268) 评论(0) 推荐(0)
摘要: 继承实现的三种策略:单表继承。每棵类继承树使用一个表具体表继承。每个子类一个表类表继承。每个具体类一个表(有一些限制)每棵继承树映射成一张表t_animal id name sex weight height type 1 猪猪 true 100 P 2 鸟鸟 false 50 B <class name="com.hibernate.Animal"> <id name="id"... 阅读全文
posted @ 2009-05-06 21:48 IT Person 阅读(562) 评论(0) 推荐(0)
摘要: Lazy采用CGLIB可以对类进行代理用在Class: 可以取值true,false,默认trueProperty: 可以取值true,false,需要类增强工具集合:true/false/extraone-to-one,many-to-one:取false,proxy/noproxylazy概念:只有真正使用该对象时,才会创建,对于hibernate来说,只有真正使用时才会发出sql测试类laz... 阅读全文
posted @ 2009-05-06 21:46 IT Person 阅读(559) 评论(0) 推荐(0)
摘要: 多对多关联映射单向 t_user id | name 1 |10 2 |祖儿 3 |杰伦 t_role id | name 1 |数据录入人员 2 |商务主管 3 |大区经理 t_user_role userid|roleid 1 |1 1 |2 2 |2 2 |3 3 |1 3 |2 3 |3 具体映射方式: <set name="roles" table="t_user_role">... 阅读全文
posted @ 2009-05-06 21:45 IT Person 阅读(317) 评论(0) 推荐(0)
摘要: 一对多关联映射(单向Classes---àStudent): t_classes id | name 1 | 尚学堂 t_student id | name | classesid 1 | 10 | 1 2 | 祖儿| 1 一对多关联映射例用了多对一关联映射原理多对一关联映射:在多的一端加入一个外键指向一的一端,他维护的关系是多指向一的一对多关联映射:在多的一端加入一个外键指向一的一端,... 阅读全文
posted @ 2009-05-06 21:44 IT Person 阅读(650) 评论(0) 推荐(0)
摘要: Session flush测试:Session flush方法主要做了两件事情:清理缓存:执行SQL:session在什么情况下执行flush默认在事务提交时显示的调用flush在执行查询前,如:iterate在uuid情况下:save时不会发sql语句(与native不同)执行flush会立刻发出SQL,临时集合会清理掉数据库隔离级别: 隔离级别 是否脏读 是否存在不可重复读 是否存在幻读 Re... 阅读全文
posted @ 2009-05-06 21:43 IT Person 阅读(596) 评论(0) 推荐(0)
摘要: 多对一many-to-one用户和组public class Group { private String id; private String name;}public class User { private String id; private String name; private Group group;} t_classes id | name 1 | 尚学堂 t_student i... 阅读全文
posted @ 2009-05-06 21:42 IT Person 阅读(1181) 评论(0) 推荐(0)
摘要: JTA实现两阶段提交,全局事务,对多个数据库起作用JDBC是本地事务,只对单一数据库起作用Hibernate基本映射实体类 –〉表实体类中的普通属性 –〉表字段采用<class>标签映射成数据库表,通过<property>标签将普通属性映射成表字段所谓普通属性指不包括自定义类,集合和树组等auto-import:如果HQL中所需要得类和所在的类不再一... 阅读全文
posted @ 2009-05-06 21:41 IT Person 阅读(355) 评论(0) 推荐(0)
摘要: 瞬时对象 new delete 数据库没对应持久对象 get load find iterate save saveorupdate update lock离线对象 evict close clear 数据库有对应session级缓存叫一级缓存,save后便纳入管理close后释放persistent对象如果修改会发出update语句,但是是在commit时发出的当属性发生改变,hibernate... 阅读全文
posted @ 2009-05-06 21:40 IT Person 阅读(269) 评论(0) 推荐(0)
摘要: 分层原则:下层为上层提供服务表示层,业务层,持久层,数据库对象模型到关系模型的转换阻抗不匹配(继承关系数据库没有这种概念)还有缓存,除了Hibernate还有OJB,JDO,TopLink,EJB,JPAIBatis是基于sql映射操纵对象使得更加对象化,有很好的数据库移植性,透明持久化(不需要继承或者实现什么,纯POJO)使用情况:对单个对象修改,保存,查询比较适合,对象之间有着很清晰的关系聚集... 阅读全文
posted @ 2009-05-06 21:38 IT Person 阅读(284) 评论(0) 推荐(0)