因为在最近从事的上机考试软件的开发过程中,要用到数据库,所以想到要学习一下鼎鼎大名的Hibernate框架,来简化对数据库操作。由于是边学习边应用,遇到的问题也多了点,所以在这里记录一下,以便以后回顾和分享。
1. 需要build path的包
最清楚的当然是hibernate3.jar包,有点经验的人都知道要加进来。 然后是针对具体数据库的驱动包。根据感觉,又把hibernate文件夹下lib文件夹里require文件夹下所有的包加了进去。但即使这样,运行最简单的实例还是会抛错,提示少类。根据异常提示又把commons-logging-1.1.1.jar包和slf4j-nop-1.5.3.jar包加进去了(这两个都是开源项目里的包,在opensource.org上都可以下到,具体版本可能有差别),这样就不会报错了。
2. 安装HibernateTools
目前最新的版本好像和eclipse3.4不兼容,反正只要用到插件的窗口都会跳个报错的框出来,但基本功能好像不影响,我也没琢磨其它功能。网上有解决办法,都是拿老版本的eclipse的包来替换。
3. HibernateTools自动生成的DAO
HibernateTools自动生成的DAO是以Home结尾的,对比各种教材看起来有点别扭~还有,就是那代码没法直接运行,会出现好多错误~首先遇到的是关于没有Session的,根据网上的方法:把.getCurrentSession()改为.openSession(),果然有效。然后我遇到的是:可以读数据,但没法把数据记录到数据库里。仔细看它生成的Dao,原来没有添加事务处理,手动加进去后可以记录了。太麻烦了,所以后来我索性把它生成的DAO都删了,自己些DAO。
4. 手动修改配置文件
我使用Hibernate的流程是,先用插件自动生成hibernate.cfg.xml配置文件(并且创建配置窗口),让后创建hibernate反向工程文件,用反向工程文件来生成pojo和映射文件。但这样一来配置文件里没有自动把映射文件加进去(即使在配置界面的map选项卡里把映射文件加进去了也没用,可能是我没仔细研究~),还得手动添加。
5. 遭遇no session异常
这个是最琢磨人的!我好端端的程序,第一次执行完全正常,该输出的都输出,改记录的也记录了,在添加了些和这个功能没关系的代码后,再执行同样的操作竟然报异常了:no session!后来不管了,在映射文件里把lazy属性改成了false,这下太平了。
分享到:
相关推荐
《Hibernate学习笔记特别详细》 Hibernate,作为一款开源的Object-Relational Mapping(ORM)框架,为Java开发者提供了强大的数据库操作支持。它简化了数据库访问的复杂性,使得开发人员可以像操作对象一样操作...
Hibernate学习笔记整理 以下是 Hibernate 框架的详细知识点: Hibernate 介绍 Hibernate 是一个 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到数据库表中。它提供了一个简洁的方式来访问和操作...
在本篇《Hibernate学习笔记》中,我们将深入探讨Hibernate这一流行的Java对象关系映射(ORM)框架。Hibernate允许开发者以面向对象的方式处理数据库操作,极大地简化了数据存取的复杂性。以下是一些关键知识点: 1....
【Java相关课程系列笔记之十四Hibernate学习笔记】 Hibernate是一个开源的对象关系映射(ORM)框架,它极大地简化了Java应用程序对数据库的操作。本笔记将详细阐述Hibernate的核心概念、使用方法和特性。 一、...
hibernate 学习笔记精要hibernate 学习笔记精要hibernate 学习笔记精要hibernate 学习笔记精要
这套笔记是我学习Hibernate,进行相关技术点训练时记录下来的,其中包括技术点说明与相关事例,拿出来与大家分享。
《Hibernate学习笔记——马士兵教程解析》 在Java开发领域,ORM(Object-Relational Mapping)框架的使用已经非常普遍,其中Hibernate作为一款优秀的ORM框架,因其强大的功能和易用性深受开发者喜爱。本文将根据马...
### Hibernate 学习笔记知识点概览 #### 一、Hibernate 概述 - **定义**:Hibernate 是一款开源的对象关系映射(ORM)框架,它实现了将 Java 应用程序中的对象模型映射到关系型数据库中的记录。通过 ORM 技术,...
**Hibernate学习笔记与大纲** Hibernate 是一款开源的Java语言下的对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发人员可以使用面向对象的方式处理数据,而无需过多关注底层的SQL语句。本笔记将深入...
**hibernate学习笔记第四天源码解析** 在hibernate学习的过程中,第四天通常会深入探讨实体类、映射文件、配置文件以及查询语言等方面的内容。这些是hibernate框架的基础,也是开发者掌握持久化操作的关键。让我们...
Hibernate是一款强大的Java持久...通过阅读这份“Hibernate API帮助文档”和“Hibernate学习笔记”,你将能够深入理解Hibernate的工作原理,掌握其API的使用,并能在实际项目中有效地利用Hibernate进行数据持久化操作。
**Hibernate学习笔记与总结** Hibernate 是一款开源的对象关系映射(ORM)框架,它为Java开发者提供了一种在关系数据库上操作对象数据的便捷方式。本文将深入探讨Hibernate的核心概念、配置、实体类、映射文件、...
在深入探讨Hibernate学习笔记第二天的源码之前,我们先来理解一下Hibernate的核心概念。Hibernate是一个开源的对象关系映射(ORM)框架,它允许Java开发者将数据库操作转化为对象模型,大大简化了数据访问层的开发...
《马士兵Hibernate学习笔记》是一份深入浅出的教程,旨在帮助初学者掌握Hibernate这一流行的Java持久化框架。Hibernate是一个对象关系映射(ORM)工具,它允许开发者用面向对象的方式来操作数据库,从而减少了传统...
### 马士兵Hibernate学习笔记知识点总结 #### 一、HelloWorld示例 - **目的**:通过简单的示例理解Hibernate的基本使用流程。 - **步骤**: - 创建Java项目`hibernate_0100_HelloWorld`。 - 建立库依赖,包括...
【尚学堂Hibernate学习笔记】是一份详尽的学习资料,旨在帮助初学者理解并掌握Hibernate这一流行的Java对象关系映射(ORM)框架。该笔记由作者根据马士兵老师的教程整理而成,其中包含了个人的学习注解,使得内容...