随笔分类 - hibernate
摘要:ThreadLocal 内部实现、应用场景和内存泄漏 深入理解线程局部变量:ThreadLocal 《Java源码分析》:ThreadLocal /ThreadLocalMap ThreadLocal终极篇 彻底理解ThreadLocal ThreadLocal源码解读 一、什么是ThreadLoc
阅读全文
摘要:疑问:整合默认是采用绑定线程的方式创建session 并且可以不用配置(只能通过getcurrentsession) 关于hibernate的session管理,如果是struts可以使用拦截器对session创建关闭提供一种模式(action的访问前和结束后(这样为了方便获得懒加载数据)) 简介:
阅读全文
摘要:Hibernate-Session使用的背后 hibernate笔记--缓存机制之 一级缓存(session缓存) Java程序员从笨鸟到菜鸟之(六十二)细谈Hibernate(十三)session缓存机制和三种对象状态 hibernate的对象状态以及Session的不同操作对对象状态的影响 hi
阅读全文
摘要:简介: HQL查询: 如果设置auto-import=talse,查询语句对应的类需要写全名(包括包名),默认是true,不需要写全名的。 默认或者为true可以直接写类名: HQL语句写法: 1.不能使用*,如果需要可以不写或者使用别名代替: 2.查询指定的列返回数组元素是又是一个object数组
阅读全文
摘要:一对一映射:两种情况: 1.外键,唯一的情况: 实例: User.java public class User { private int userId; private String userName; // 用户与身份证信息, 一对一关系 private IdCard idCard; User.
阅读全文
摘要:对象的状态: 当调用session的save/saveOrUpdate/get/load/list等方法的时候,对象就是持久化状态。 处于持久化状态的对象,当对对象属性进行更改的时候,会反映到数据库中! Hibernate中缓存分类: 一级缓存: 目的:减少对数据库的访问次数!从而提升hiberna
阅读全文
摘要:配置概要: 1.简单容器映射(从表除了外键只有单个字段或者键值字段) (集合的元素是基本数据类型) 下面是不同容器生成一个从属表的例子(主键做从表的外键进行关联) hibernate.cfg.xml <!DOCTYPE hibernate-configuration PUBLIC "-//Hiber
阅读全文
摘要:DAO是Data Access Object DAO模式的: 用程序设计的语言来说: Dao代码,如何编写? 1.操作XML数据 2.使用Jdbc技术 hibernate最终执行的也是jdbc代码! ORM概念(对象关系映射): O,Object 对象 R,Realtion 关系 (关系型数据库:
阅读全文
摘要:检索即对象的获取:获取的时机和和方式:减少没必要的内存占用,尽量少的sql语句减少多余数据库的访问一:类级别的检索:load() 和属性1.无论 元素的 lazy 属性是 true 还是 false, Session 的 get() 方法及 Query 的 list() 方法在类级别总是使用立即检...
阅读全文
摘要:继承实现方式分为三种:subclass; joined-subclass;union-subclass a.类中体现 b.库中体现分为三种: b.1:一种方式:人和学生公用一张表,添加一个辨别字段,学生数据特有的字段不能设置非空约束,因为人对象是没有这个数据的 b.2第二种方式:共有数据放一张表中,
阅读全文
摘要:单向n-n:(catogory-item)一个类别对应多个条目,一个条目对应多个类别 a.以类别类中有条目的集合的引用为例: b.数据库中的体现:建立一个新表,以类别和条目的主键关联的外键做新表的联合主键。 c.映射配置:在类别表中配置外键映射关系 d测试: 保存 将执行四条插入语句将种类和条目插入
阅读全文
摘要:双向一对一以部门和经理为例:a.部门和经理类中各自由对方的引用:(省略了get/set方法)b.数据库两种方式实现:一种(b.1)是外键映射,并将外键添加唯一约束(至于哪个对象的主键做外键,可随意,差别是在获取关联对象数据的方式上有些差异);第二种(b.2)方式是:主键映射即把外键作为主键。例子如下...
阅读全文
摘要:hibernate是对jdk一个封装工具,实现对象和数据库之间数据映射。使用时涉及到四个问题:a.对象之间的关系在类中的体现;b,对象关系对应的数据库中表之间体现;c.实现a,b在hibernate的配置,d.对象之间获取保存更新删除的差异一:1-n/n-1(单向的一对多/多对一),1 n (双向...
阅读全文
摘要:1、assigned主键由外部程序负责生成,在save()之前必须指定一个。Hibernate不负责维护主键生成。与Hibernate和底层数据库都无关,可以跨数据库。在存储对象前,必须要使用主键的setter方法给主键赋值,至于这个值怎么生成,完全由自己决定,这种方法应该尽量避免。“ud”是自定义...
阅读全文