hibernate框架
文章平均质量分 50
wjp553650958
这个作者很懒,什么都没留下…
展开
-
HQL检索方式(扩展)
=cardId"/> select u.userName from User u where u.userId=1 ]]> 1.getNamedQuery //每次就原创 2009-08-30 16:08:00 · 299 阅读 · 0 评论 -
inverse
inverse 只存在集合标记元素中Hibernater提供的集合元素有 作用:是否将对集合的修改反映到数据库中,当inverse=“false”是,对集合对象的修改会被反映到数据库中,而inverse=“true”时 不会对数据库进行相应的处理!默认属性:falseinverse属性的作用可以理解为设置对象之间关系的维护方在哪一端,false时由本方维护,true时由另一方原创 2009-08-30 16:18:00 · 266 阅读 · 0 评论 -
Hibernate缓存
Hibernate采用二级缓存第一级缓存 -> Session缓存;evict(Object o) //清楚一个对象clear() //清楚所有对象第二级缓存 -> SessionFactroy的外置缓存备注:执行大量的数据更新时可以:1.使用JDBC tx = session.beginTransaction(); Connection原创 2009-08-30 16:18:00 · 355 阅读 · 0 评论 -
Session的缓存
在Session接口的实现类SessionImpl中定义了一系列的java集合,这些集合构成了Session的缓存.一.Session缓存作用:1.减少访问数据库的频率. 应用程序从内存中读取持久化对象的速度比从数据库中查询快得多.2.保证缓存中的对象与数据库中的记录保持同步. 当缓存中持久化对象的状态发生变化,Session并不会立即执行相关的SQL语句,这使得原创 2009-08-30 16:20:00 · 469 阅读 · 0 评论 -
类型
Mapping type Java type Standard SQLbuilt-in typePrimitive typesinteger int or java.lang.Integer原创 2009-08-30 16:27:00 · 275 阅读 · 0 评论 -
配置
一.Hibernate 使用架包hibernate3.jar //antlr-2.7.6.jarasm-2.2.3.jarcglib-nodep-2.1_3.jarcommons-collections-2.2.1.jardom4j-1.6.1.jarehcache-1.2.3.jarjta.jarcommons-lang.jarcommons-logging-1.0.4.jarc3p0-0.原创 2009-08-30 16:28:00 · 270 阅读 · 0 评论 -
主键生成方式
native ------- 根据底层数据库判断自行使用idenyity sequence hilo 等中的一种sequence 时默认的seq名为 hibernate_sequenceuuid -------- 必须是的字符串,数据库中字段要大于32位identity --------- 必须是整型 数据库有自增长功能increment --------- 主键顺序递增推荐使用 可原创 2009-08-30 16:29:00 · 357 阅读 · 0 评论 -
HQL检索方式
Hibernate Query Language依赖接口:Query数据模型:tb_user(userId,userName)tb_addr(addrId,addrName,userId)Entity:class Addr{ private int addrId; private String addrName;}class User{ private原创 2009-08-30 16:07:00 · 835 阅读 · 0 评论 -
N->N(连接表)
一.概念模型多个用户(User)对应多个地址(Addr)在User中维护二.数据模型tb_addr(addrId,name)tb_user(userId,name)tb_join_user_addr(userId,addrId)三.配置-----Addr ----User原创 2009-08-30 16:15:00 · 328 阅读 · 0 评论 -
hibernate常见问题原因及解决方法
在使用hibernate的操作数据的过程中如update(),有时候会出现hibernate a different object with the same identifier value was already associated with the session这个异常。从这个异常的描述中已经可以大致明白是什么原因导致了这个异常的发生:多个不同的对象具有相同identifier(i原创 2009-08-30 16:21:00 · 625 阅读 · 0 评论 -
hibernate常见异常
1.org.hibernate.HibernateException: No TransactionManagerLookup specified org.hibernate.context.JTASessionContext.currentSession(JTASessionContext.java:54) org.hibernate.impl.SessionFac原创 2009-08-30 16:22:00 · 688 阅读 · 0 评论 -
接口
几个重要接口ConfigurationSessionFactorySessionTransactionQueryCriteria大致使用规则:配置文件(XML)使用方法如下:Configuration config = new Configuration();Configuration cfg = config.configure(); // 会在原创 2009-08-30 16:25:00 · 298 阅读 · 0 评论 -
NN(连接表)
一.概念模型User 中有Addr Set,Addr 中有User Set,分别在User和Addr中维护;二.数据模型tb_addr(addrId,name)tb_user(userId,name)tb_join_user_addr(userId,addrId)三.配置---User原创 2009-08-30 16:17:00 · 402 阅读 · 0 评论 -
N->1(连接表)
一.概念模型多个地址(Addr)对应一个用户(User)在Addr中维护二.数据模型tb_user(userId,name)tb_addr(addrId,name)tb_join_user_addr(userId,addrId)三.配置User普通配置Addr原创 2009-08-30 16:14:00 · 325 阅读 · 0 评论 -
N->1(外键)
一.概念模型多个地址(Addr)对应一个用户(User)在Addr中维护二.数据模型tb_user(userId,name)tb_addr(addrId,name,userId)三.配置User普通配置Addr //column为本表的列原创 2009-08-30 16:14:00 · 267 阅读 · 0 评论 -
备注
1->N 一般用 Set:无序,不能重复.原创 2009-08-30 16:16:00 · 284 阅读 · 0 评论 -
Hibernate检索策略
检索策略:立即检索,延时检索,批量立即检索,批量延迟检索,迫切左外连接检索一.类级别的检索策略分为:立即检索和延时检索配置: true延时加载(moren) false立即检索使用对象:Session中的load()方法,get()和find()无效延时加载实现:执行load()时,Hibernate不会立即执行User的select,只会返回User的代理类;代理类特征:1.Hiberna原创 2009-08-30 16:19:00 · 291 阅读 · 0 评论 -
cascade
说明:cascade取值:none //没有级联操作delete //关联对象也更新save-update //级联保存所有关联的新建的临时对象(如果是持久化状态则会更新,如果是游离状态则会更新) 级联更新所有关联的游离对象(如果是临时状态则会报错,如果是持原创 2009-08-30 16:20:00 · 397 阅读 · 0 评论 -
对象(POJO)状态
一.Transient 瞬时(临时)状态刚刚new出来,没有被持久化,不处于Session中的缓存中二.Persistent 持久状态已经被持久化,保存在Session中的缓存中.三.Detached 游离(托管)状态已经被持久化,但是不在Session中的缓存中(有OID,程序对游离态的操作的凭证为OID)三种状态的转化:多一条线:又Detached 到 Transient 操原创 2009-08-30 16:22:00 · 373 阅读 · 0 评论 -
OID检索方式
依赖Session接口主要是:load()/get()的用法原创 2009-08-30 16:08:00 · 789 阅读 · 0 评论 -
QBC检索方式
依赖接口:Criteria数据模型:tb_user(userId,userName)tb_addr(addrId,addrName,userId)Entity:class Addr{ private int addrId; private String addrName;}class User{ private int userId;原创 2009-08-30 16:09:00 · 502 阅读 · 0 评论 -
1->1(外键)
一.概念模型.一个地址(Addr)中只能有一个用户(User)在Addr中维护二.数据模型tb_user(userId,name)tb_addr(addrId,name,userId UK)三.配置User普通配置Addr column="userId" //c原创 2009-08-30 16:10:00 · 351 阅读 · 0 评论 -
1->1(主键生成)
一.概念模型.一个地址(Addr)中只能有一个用户(User)在Addr中维护二.数据模型tb_user(userId,name)tb_addr(userId,name) //id名和tb_user Id一样三.配置:User普通配置Addr user原创 2009-08-30 16:12:00 · 334 阅读 · 0 评论 -
1->N(连接表)
一.概念模型.一个User可以有很多Addr,User中有Addr的Set(所以在User中配置--many-to-many), 用第三张表(tb_join_user_addr)来表示他们之间的关系在User中维护二.数据模型tb_addr(addrId,name)tb_user(userId,name)tb_join_user_addr(userId,addrId)三.配置---原创 2009-08-30 16:13:00 · 265 阅读 · 0 评论 -
1->N(外键)
一.概念模型 一个Person可以有很多Address, 即Address中有一列指向Person的Id,Person中有Address的set(所以在Person中配置--one-to-one) 在Person中维护二.数据模型tb_person(id,name,age)tb_address(addrId,name,personId)三.配置---Ad原创 2009-08-30 16:13:00 · 509 阅读 · 0 评论 -
数据库基础
一.数据库事物特征1.Atomic(原子性) 不可分割2.Consistency(一致性) 参照完整3.Isolation(隔离性) 防止并发4.Durability(持久性) 永久保存数据二.事物和并发1.并发问题:第一类丢失,脏读,虚读,不可重复读,第二类丢失更新(不可重复读的特例)2.锁的类型(数据库系统中的):共享锁(select 是使用),独占锁(insert原创 2009-08-30 16:29:00 · 370 阅读 · 0 评论