我的java程序代码:
Transaction ts=null;
Session session=null;
try{
session=HibernateSessionFactory.getCurrentSession();
ts=session.beginTransaction();
int id1=id.intValue();
System.out.println("id1"+id1);
Query query=session.createQuery("From Folder as f where f.id=1");
// query.setInteger(0, id1);
List list=query.list();
System.out.println("size"+list.size());
Folder folder=(Folder)list.get(0);
folder.setName(albumname);
folder.setDesc(albumdsc);
session.save(folder);
ts.commit();
========================他跑出的异常。。。。。。。。。。
org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
at org.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:70)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:181)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:226)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:137)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:274)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:730)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:324)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:86)
at com.woshow.photostudio.ylbo.ViewAlbums.rename(ViewAlbums.java:37)
at com.yourcompany.struts.action.AlbumrenameAction.execute(AlbumrenameAction.java:45)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.sql.BatchUpdateException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc='qwe', position=null, cover_file_id=null where id=1' at line 1
at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1103)
at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:853)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:57)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:174)
... 39 more
分享到:
- 2006-12-21 17:28
- 浏览 1843
- 评论(2)
- 论坛回复 / 浏览 (2 / 2769)
- 查看更多
相关推荐
Hibernate 3引入了HQL(Hibernate Query Language)和 Criteria API,提供了更强大的查询能力。 在这样的集成环境中,DWR2负责客户端和服务器之间的通信,提供实时的数据交换;Struts2作为MVC框架,管理请求和响应...
`hibernate3.jar`是Hibernate的核心库,包含了所有必要的组件,如查询解析、对象/关系映射等。 `spring.jar`是Spring框架的整体包,提供了依赖注入、AOP等功能,对于整合Hibernate是必要的。 `struts2`相关库如`...
### Struts+Hibernate查询所有记录 #### 一、概述 在Java Web开发中,Struts与Hibernate是非常流行的框架组合,用于构建复杂的企业级应用。本文将详细介绍如何利用Struts和Hibernate来实现对Oracle数据库中所有...
Hibernate 常见异常处理 Hibernate 是一个流行的 Java 持久层框架,但是在实际开发中,我们经常会遇到各种异常。了解这些异常的原因和解决方案是非常重要的。本文将介绍 Hibernate 中的一些常见异常,包括 ...
本篇将详细讲解一个“超好用的Hibernate查询工具类”,以及如何利用它来提升开发效率。 首先,我们需要理解Hibernate的基本概念。Hibernate是一种持久化框架,它可以将Java对象映射到数据库表,从而避免了编写大量...
如果找不到对应的记录,将会抛出 `org.hibernate.ObjectNotFoundException` 异常。 - `load(Class<T> theClass, Serializable id)`:根据类类型和主键加载对象。 - `load(Class<T> theClass, Serializable id, ...
### Hibernate 实现分页查询详解 #### 一、引言 在进行数据库操作时,为了提高用户体验和系统性能,分页查询是一项非常重要的技术。Hibernate作为Java领域内一个优秀的对象关系映射(ORM)框架,提供了强大的数据...
本实践项目结合了这两个框架,实现了基于Struts的前端展示和基于Hibernate的数据访问层,提供了分页和条件查询功能,这对于大型Web应用来说是非常基础且重要的。 **Struts框架** 是一个用于构建企业级Web应用程序的...
### Hibernate的配置与使用详解 ...综上所述,Hibernate不仅简化了Java应用与数据库之间的交互,还提供了丰富的查询API,使得开发者能够更加高效地处理数据。无论是初学者还是经验丰富的开发者,都能够从中受益匪浅。
hibernate异常文档.xls hibernate异常文档.xls
7. **事务管理**:为了确保数据的一致性,公共查询类中的每个方法应包裹在`Transaction`中,处理异常时进行回滚,正常完成时提交。 8. **缓存机制**:Hibernate提供了第一级缓存(Session级别)和第二级缓存...
标题与描述概述的知识点主要集中在Hibernate映射过程中可能遇到的各种异常情况,这涉及到数据库与对象模型之间的映射问题,以及Hibernate框架在处理这些映射时可能产生的错误。下面将对这些异常进行详细的解释和分析...
Hibernate 是一个开源的对象关系映射(ORM)框架,它允许...理解和熟练使用Hibernate配置、异常处理、HQL查询以及IDE集成是每个Java开发者必备的技能。通过上述步骤,你可以更好地了解和应用Hibernate进行数据库操作。
- 查询结果的类型应与`addEntity()`方法指定的类匹配,否则会出现类型转换异常。 - 使用完`Session`后,记得关闭以释放资源,避免内存泄漏和数据库连接问题。 - 如果查询结果中包含多张表的数据,可以使用`...
### Hibernate HQL 查询详解 #### 一、HQL(Hibernate Query Language)简介 HQL(Hibernate Query Language)是一种面向对象的查询语言,它允许开发者使用类及其属性来编写查询语句,而不是传统的SQL语句。这使得...
8. **查询优化**:避免N+1查询问题,使用JOIN fetch提前加载关联数据,使用HQL或JPQL替代原生SQL以利用Hibernate的优化能力。 9. **错误处理和日志记录**:理解Hibernate常见的错误和异常,如 detached entity ...
【Hibernate查询方法之探析】 Hibernate作为一款强大的Java持久化框架,提供了多种查询方式来适应不同的数据检索需求。本文将深入解析五种主要的Hibernate查询方法:QBE(Query By Example)、QBC(Query By ...
### Hibernate常见错误解析 #### 一、`java.lang.NoClassDefFoundError`:net/sf/ehcache/CacheException 在启动Hibernate时遇到此类错误通常是因为类路径(Classpath)中缺失必要的jar包。具体到这个例子中,问题...
- **HQL(Hibernate Query Language)**: Hibernate的查询语言,类似于SQL,但面向对象。 - **Criteria API**: 动态构建查询的API,更具有面向对象的特性。 - **Query和Criteria**: 分别对应HQL和Criteria API的执行...
- Criteria API则是Hibernate提供的另一种查询方式,它允许程序matic地构建查询。这种方式更加类型安全,且易于动态构造查询。 4. 测试: - 在进行Hibernate查询测试时,应确保数据库连接配置正确,实体类与表...