`

hibernate学习

 
阅读更多
持久化对象操作:
session的缓存
session的save()方法持久化一个对象时,该对象会被放入缓存中。
session的load()方法会先判断对象是否在缓存中,再去数据库中查询。
session的close()方法会清空缓存。
当session调用commit()方法时,首先清理缓存,然后向数据库提交事务。所以当你连续对对象的一个属性作操作时,只会执行一条update语句
session的flush()方法会清理缓存,执行一系列的SQL语句,但不会提交事务

hibernate中java对象的状态
transient瞬时,new创建,没有被持久化,不处于缓存中
persistent持久化,已经持久化,加入到缓存中
detached游离,已经持久化,不处于缓存中

new->trasient
get(),load(),find(),iterate()->persistent
(trasient)save,saveOrUpdate()->persistent
(persistent)delete()->trasient
(persistent)close(),evict(),clear()->detached
(detached)update(),saveOrUpdate(),lock()->persistent
(detached)delete()->trasient

session的CRUD操作
save:把瞬时对象变为持久化对象。
hibernate使用oid维持表与实体间的关系,当对象处于持久化状态时,不允许对oid的修改操作。
当save方法操作游离态对象时,会重新插入一条语句

update:把游离态对象转化成持久化对象。
把对象重新放入到缓存中,变为持久化对象。
update只有在清理缓存的才会执行,所以当你连续对对象的一个属性作操作时,只会执行一条update语句
当session已经load了oid为1的对象,此时把oid为1游离态对象update,则出错。



出现的问题:  
Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException
java通过jdbc连接sqlserver和oracle时出现这个异常。虽然抛出这个异常,但对整个应用没有影响。这个异常产生的原因是jar包的版本不对。连接oracle10g的jdbc用ojdbc6.jar(1942k),连接sqlserver2008用sqljdbc.jar(570k),而不用sqljdbc4.jar(567k)。postgres用postgresql-8.2-504.jdbc3.jar。


分享到:
评论

相关推荐

    hibernate学习资料大全

    【hibernate学习资料大全】 Hibernate 是一个开源的对象关系映射(ORM)框架,它极大地简化了Java应用程序对数据库的操作。这个压缩包包含了丰富的Hibernate学习资源,旨在帮助开发者深入理解和熟练掌握这一强大的...

    Hibernate学习.pdf

    ### Hibernate学习知识点详解 #### 1. Hibernate简介与安装配置 **标题:** Hibernate学习 **描述:** Hibernate 学习 Hibernate学习.pdf **标签:** Hibernate 学习 Hibernate学习.pdf **知识点详解:** ####...

    Hibernate学习笔记整理

    Hibernate学习笔记整理 以下是 Hibernate 框架的详细知识点: Hibernate 介绍 Hibernate 是一个 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到数据库表中。它提供了一个简洁的方式来访问和操作...

    Hibernate学习笔记特别详细

    《Hibernate学习笔记特别详细》 Hibernate,作为一款开源的Object-Relational Mapping(ORM)框架,为Java开发者提供了强大的数据库操作支持。它简化了数据库访问的复杂性,使得开发人员可以像操作对象一样操作...

    Hibernate学习文档集合

    《Hibernate学习文档集合》 Hibernate,作为Java领域中的一款强大且广泛应用的对象关系映射(ORM)框架,极大地简化了数据库操作。本集合包含了三个关键的学习文档,分别关注于Hibernate的操作基础、对象关系映射和...

    hibernate学习资料大合集

    **hibernate学习资料大合集** 本资料合集涵盖了关于Hibernate的各种学习资源,包括PDF、CHM和Word文档,旨在帮助开发者深入理解和掌握Hibernate这一强大的Java持久化框架。Hibernate作为一个对象关系映射(ORM)...

    非常好的Hibernate学习资料

    《Hibernate学习精华》 Hibernate,一个开放源代码的对象关系映射框架,是Java开发者在数据库操作中不可或缺的工具。它简化了Java应用与数据库之间的交互,使得开发人员能够以面向对象的方式来处理数据库操作,极大...

    hibernate学习笔记,学习大纲【吐血推荐】

    **Hibernate学习笔记与大纲** Hibernate 是一款开源的Java语言下的对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发人员可以使用面向对象的方式处理数据,而无需过多关注底层的SQL语句。本笔记将深入...

    hibernate学习笔记第四天的源码

    **hibernate学习笔记第四天源码解析** 在hibernate学习的过程中,第四天通常会深入探讨实体类、映射文件、配置文件以及查询语言等方面的内容。这些是hibernate框架的基础,也是开发者掌握持久化操作的关键。让我们...

    hibernate学习文档

    《Hibernate学习文档》 Hibernate是一种广泛应用于Java开发中的对象关系映射(ORM)框架,它的核心价值在于简化了数据库操作,通过将Java对象模型与SQL关系模型进行映射,使得开发者可以使用面向对象的方式来处理...

    hibernate学习心得

    对于初学者来说,学习 Hibernate 可以简化数据库操作,提高开发效率。以下是对 Hibernate 学习过程的详细说明: 一、配置 Hibernate 与 MyEclipse 连接 在开始使用 Hibernate 之前,你需要先配置 Hibernate 与...

    hibernate学习笔记

    在本篇《Hibernate学习笔记》中,我们将深入探讨Hibernate这一流行的Java对象关系映射(ORM)框架。Hibernate允许开发者以面向对象的方式处理数据库操作,极大地简化了数据存取的复杂性。以下是一些关键知识点: 1....

    Java相关课程系列笔记之十四Hibernate学习笔记

    【Java相关课程系列笔记之十四Hibernate学习笔记】 Hibernate是一个开源的对象关系映射(ORM)框架,它极大地简化了Java应用程序对数据库的操作。本笔记将详细阐述Hibernate的核心概念、使用方法和特性。 一、...

    hibernate学习总结文档

    **Hibernate 框架概述** Hibernate 是一个开源的对象关系映射(ORM)框架,它为 Java 开发者提供了一种在 Java 应用程序中管理关系...通过实践和深入学习,你可以更好地利用 Hibernate 实现高效、可靠的数据库应用。

    hibernate学习资料

    在“hibernate学习资料”中,我们可以看到两个关键文件:“hibernate┐≥╝▄┐¬╖ó2016░µ╫╩┴╧”和“hibernate框架开发2016版资料”。这些文件很可能是针对Hibernate框架的教程或指南,可能包含了2016年时的...

    Hibernate学习代码示例

    这个“Hibernate学习代码示例”压缩包文件为初学者提供了丰富的学习资源,帮助他们理解并掌握Hibernate的核心概念和实际应用。 首先,让我们详细探讨一下Hibernate的基础知识。Hibernate是一个开源的ORM框架,它的...

Global site tag (gtag.js) - Google Analytics