Java初学者指南:Hibernate2安装步骤详解

需积分: 9 1 下载量 100 浏览量 更新于2025-01-04 收藏 410KB PDF 举报
"学习Java初级资料——hibernate2安装手记.pdf" 这篇文档主要介绍了Java中的持久化框架Hibernate2的安装过程,以及该框架的基本概念和功能。Hibernate是一个用于简化Java应用程序与关系数据库交互的开源工具,它实现了对象/关系映射(ORM),将面向对象的模型与基于SQL的关系数据库结构对应起来,极大地减少了手动编写SQL和JDBC代码的工作量。 Hibernate的核心优势在于数据持久化,即对象状态能够在数据库中持久保存。在Java中,数据持久化一直是一个相对复杂的任务,而Hibernate通过提供自动的映射和查询服务,使得这一过程变得更加便捷。尽管Hibernate发展到了3.0版本,并且有可能成为Java的标准部分,但在本文档编写时,作者仍选择介绍较早的2.1.7c版本,以供初学者参考。 在文档中,作者指出Hibernate的官方中文帮助文档对安装的描述不够详细,因此作者编写了这篇手记,旨在提供更详尽的安装步骤,同时结合了网络上的其他资源进行补充和完善。文档假设读者已经安装了MySQL数据库和Tomcat5.0服务器,这些都是免费软件,可以在其官网找到相应的下载链接。 安装流程大致会涉及以下几个步骤: 1. 下载Hibernate2.1.7c版本的安装包。 2. 安装MySQL数据库和Tomcat服务器,确保它们能正常运行。 3. 配置Hibernate的环境变量,包括JDBC驱动和Hibernate的jar包。 4. 创建MySQL数据库和相应的表,用于与Hibernate进行数据交互。 5. 配置Hibernate的主配置文件(通常是hibernate.cfg.xml),包括数据库连接信息、方言设置等。 6. 将Hibernate的库文件添加到项目的类路径中。 7. 编写实体类和映射文件,定义对象与数据库表之间的映射关系。 8. 测试Hibernate的基本操作,如增删查改。 在实际应用中,开发者还会学习如何使用Hibernate的API进行数据操作,例如Session接口、Transaction接口以及Criteria和HQL(Hibernate Query Language)查询。通过这些工具,开发者可以方便地执行数据库操作,而无需过多关注底层的SQL语句。 这篇“Java资料——hibernate2安装手记.pdf”是针对Java初学者的一份实用教程,旨在帮助他们克服在安装和初步使用Hibernate时可能遇到的困难,从而更好地理解和掌握这个强大的ORM框架。通过学习这篇文档,读者不仅可以了解Hibernate的基本原理,还能掌握实际操作中的技巧,为进一步深入学习Java的Web开发打下基础。

Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1 org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1 at org.hibernate.jdbc.Expectations$BasicExpectation.checkBatched(Expectations.java:61) at org.hibernate.jdbc.Expectations$BasicExpectation.verifyOutcome(Expectations.java:46) at org.hibernate.jdbc.BatchingBatcher.checkRowCounts(BatchingBatcher.java:68) at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48) at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:246) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298) at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:41) at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:969) at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1690) at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142) at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:152) at com.sinosoft.sysframework.persistence.HibernateSQLQuery.doInHibernate(HibernateSQLQuery.java:118) at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:366) at org.springframework.orm.hibernate3.HibernateTemplate.executeFind(HibernateTemplate.java:338) at com.sinosoft.sysframework.persistence.BaseDaoHibernateImpl.queryList(BaseDaoHibernateImpl.java:224) at com.sinosoft.application.reins.persistence.hibernate.base.GrRePlanItemDaoHibernateImplBase.find(GrRePlanItemDaoHibernateImplBase.java:127) at com.sinosoft.application.reins.service.spring.GrTrialServiceSpringImpl.endorTrialDataSurrender(GrTrialServiceSpringImpl.java:9536) at com.sinosoft.application.reins.service.

192 浏览量