`
xiaoliefengfeng
  • 浏览: 67806 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于使用spring的hibernatetemplate来操作oracle的大字段的问题总结

阅读更多

不是 GROUP BY 表达式,包这个错误时因为我们在使用聚合函数的时候,聚合函数前面的字段也一定要在出现group by里面
下面是计算订单表里面的某一种商品的总销售额
如:select orderid as 商品id,ordername as 商品名称,count(price) as 商品总价 from orders group by ordername,orderid;
因为在聚合函数count(price)的前面有orderid as 商品id,ordername as 商品名称这两个字段,所以这两个字段都有出现在group by的后面,不然就会报 不是 GROUP BY 表达式这个错误
Caused by: java.sql.SQLException: ORA-00979: 不是 GROUP BY 表达式

 at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
 at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
 at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
 at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
 at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
 ... 33 more


在使用spring的事务管理的时候一定要面向接口编程。如果你配置了事务,且你的业务方法没有面向接口编程,
 如果你在对数据进行添加或删除的时候那么就会报错,这是时候解决的方法就是你把你的业务类提取一个接口
java.lang.IllegalStateException: Active Spring transaction synchronization or active JTA transaction with specified [javax.transaction.TransactionManager] required
 at org.springframework.jdbc.support.lob.LobCreatorUtils.registerTransactionSynchronization(LobCreatorUtils.java:79)
 at org.springframework.orm.hibernate3.support.AbstractLobType.nullSafeSet(AbstractLobType.java:185)
 at org.hibernate.type.CustomType.nullSafeSet(CustomType.java:140)
 at org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:2166)
 at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2412)
 at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2856)
 at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:79)
 at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:273)
 at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:265)
 at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:184)
 ......

检查是否开启了事务,因为在一些对数据的修改插入操作的时候需要事务的支持才能成功

org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here
 at org.springframework.orm.hibernate3.SpringSessionContext.currentSession(SpringSessionContext.java:63)
 at org.hibernate.impl.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:685)
 at cn.feng.ssh2.service.impl.PersonServiceBean.getSession(PersonServiceBean.java:36)
 at cn.feng.ssh2.service.impl.PersonServiceBean.save(PersonServiceBean.java:43)
 at junit.test.datasurceTest.testBlog(datasurceTest.java:78)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 ......

 

分享到:
评论

相关推荐

    spring使用心得 java ssh

    "spring中,如果想用自定义主键,则不要设置sequnce.txt"提示我们,在Spring配置Hibernate时,如果希望使用自定义的主键生成策略(例如,使用UUID或者自增字段),则不应设定sequence,因为sequence是Oracle数据库...

    spring的增删改查

    实体类的属性对应表的字段,这样可以通过对象操作来实现对数据库的CRUD操作。 7. **预编译参数化SQL** Spring的`NamedParameterJdbcTemplate`允许使用命名参数,可以有效防止SQL注入攻击。这种方式更加安全,同时...

    Spring中文帮助文档

    6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点运算 ...

    Spring API

    6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点运算 ...

    SSH+Oracle上传图片

    总结来说,这个项目演示了如何在SSH框架下,结合Oracle数据库,实现图片数据的上传、存储和展示。关键在于处理Blob数据的配置和操作,以及Struts2对流结果类型的处理。这为开发涉及二进制大对象存储的应用提供了基础...

    ssh(structs,spring,hibernate)框架中的上传下载

     文件数据存储在Blob类型的FILE_CONTENT表字段上,在Spring中采用OracleLobHandler来处理Lob字段(包括Clob和Blob),由于在程序中不需要引用到oracle数据驱动程序的具体类且屏蔽了不同数据库处理Lob字段方法上的...

    SSH示例代码(带事物和Blob操作的)

    在DAO层,可能会有专门的方法来处理Blob对象的读写操作,例如使用Session的saveOrUpdate()方法保存包含Blob的数据,使用Blob的setBinaryStream()和getBinaryStream()方法进行读写操作。 项目中的单元测试是保证代码...

    hibernate.rar

    总结,Hibernate作为Java开发中的重要工具,其强大之处在于将复杂的数据库操作转化为简单的对象操作,极大地提高了开发效率。深入理解和熟练运用Hibernate,将有助于构建高效、稳定的企业级应用。

    hibernate培训讲座

    2. **HibernateTemplate**:Spring为Hibernate提供的模板类,用于简化Hibernate操作,自动处理事务。 3. **Hibernate SessionFactory和SessionFactoryBean**:Spring通过SessionFactoryBean管理SessionFactory的生命...

    深入浅出hibernate(*.ppt)

    Spring框架提供了对Hibernate的全面支持,通过SessionFactoryBean进行配置,使用HibernateTemplate或HibernateJpaTemplate简化数据库操作,同时,Spring的AOP特性可以用于事务管理,实现代码的解耦。 通过本教程的...

    SSH框架配置流程文档实例教程

    这通常涉及到设计数据库模式,定义字段和关系,以及在数据库管理系统(如MySQL、Oracle等)中执行SQL脚本来创建表。 2. **新建工程与导入库** 创建一个新的Java Web项目,然后将Struts、Hibernate和Spring的相关库...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。 4、 系统的数据要求:1、数据录入和处理的准确性和实时性。2、数据的一致性与完整性。3、数据的共享与独立性。 2.2. 系统的可行性...

Global site tag (gtag.js) - Google Analytics