资讯详情

hibernate笔记

junit可以让你在一个java在原始文件中写下多种测试方法,然后你可以在不与其他方法冲突的情况下逐一进行测试。 hibernate主要有日志系统slf接口定义,在此之下,实现他的存在slf4j,log4j,..,但是我们在hibernate做日志时,不仅需要slf的api,我们还需要他和他的实现slf与其实现转换器(因此需要三个)jar这是一种适配器模式)。JUNIT提供单元调试的能力,即提供给某个单元class(或方法)测试。 注释的好处:举个简单的例子,我们用@override当你重写父亲的方法时,如果你没有注释,你写错了,但不会报告错误(他会作为你自己定义的方法),加上注释,他知道,哦,你的男孩想重写,然后去找父亲的方法,然后给你一个提示。 ID生成策略:native(hibernate做决定),identity(sqlserver),sequence(oracle),uuid(世界上唯一)xml或者annotation 用联合主键,就一定要实现序列化和重写equals,hashcode方法 单粒模式是指一个类只打开一个例子,并向整个系统提供自己的例子。 sessionfactory最重要的维护是数据库连接池,每个session是客户端和服务器端的对话。 session的currentsession有两个thread和jta(java trasaction api)(分布式数据库事务) jpa(java persistence api) getcurrentsession和opensession生成的session不是同一种session,所以两者不能混用 对象的三种状态:瞬态(未)save,不在缓存中,只是独立存在),持久(save之后,有数据库和缓存),托管(提交后,session缓存断了,不是在缓存中,而是在内存中) session内存中的缓存(先找缓存,再找数据库),为了提高效率,不去数据库再取数据,session内存中有一个缓存,存储对象的参考(map类型) session管理数据库的添加、删除和检查 save(),delete(),load(,)(拿出来就是持久状态),get(),update() load与get区别:当用load当返回时,只有一个对象代理没有找到数据库,而是在使用该对象时找到数据库;和get立即连接数据库,返回真实对象 可以在p状态下更新 在xml中指定dynamic-update为true,局部动态更新(前提是对象在缓存中)spa> session.merge(s)合并数据库里的与s,局部更新,先select,然后对比,然后合并。 hql(ejbql,面向对象的查询语言)语句和sql语句差不多,只不过是更新对象而不是记录。 session.clear()是强制清理缓存;session.flush()是强制同步缓存和数据库(推到数据库里);

标签: 单粒连接器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台