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

Hibernate自定义查询SQL得到对象进行更新时遇到的问题

阅读更多

先发段代码

SQLQuery query = this.getSession().createSQLQuery("SELECT COUNT(1) AS exponent, TO_NUMBER(TO_CHAR(VISITTIME, 'MM')) AS mm " +
                " FROM XFINFO " +
                " WHERE TO_CHAR(VISITTIME, 'YYYY') = ? " +
                " GROUP BY TO_CHAR(VISITTIME, 'MM')")
                .setResultTransformer(Transformers.aliasToBean(SerieDto.class));
               
        query.setParameter(0, start);
        @SuppressWarnings("unchecked")
        List<SerieDto> ss = query.list();
        return ss;

这个简单的查询,我想是人都会但是坑爹就坑爹在hibernate,刚开始用.addEntity(SerieDto.class)一直报unknown entity。然后用上面这个,又报属性找不到,不知道为什么坑爹的要我把所有属性都改成大写,我一直知道hibernate对数字返回的不是整形而是BigDecimal,这次能大小写都不放,一个简单的查询来回改许多次折腾了半天。后来发现要是想写自定义SQL还得自己转属性,如:query.addScalar("mm", Hibernate.FLOAT);,但有一个问题需要注意,这种写法查询出来的对象不是hibernate认为hibernate对象,也就是如果对这个对象用set方法,然后再用updateorsave进行更新时,会出现问题。

分享到:
评论

相关推荐

    用Hibernate实现领域对象的自定义字段

    在保存或查询对象时,它会调用我们自定义的类型转换方法,确保数据在对象和数据库之间正确地进行序列化和反序列化。 在实际项目中,我们可能还会遇到更复杂的情况,例如需要对自定义类型进行进一步的优化,比如缓存...

    关于Hibernate分页类和jdbc的sql分页完美融合

    这样的类通常会有一个用于执行分页查询的方法,比如`doPagingQuery`,它接受SQL查询语句、起始索引、每页大小等参数,并返回一个自定义的分页对象,如"Page.java"所示。 `Page.java`文件可能定义了一个名为`Page`的...

    hibernate-3.2源代码

    《深入剖析Hibernate 3.2源代码...通过深入学习Hibernate 3.2的源代码,开发者不仅可以了解其实现原理,还能在遇到问题时更快定位,进行定制化开发。同时,这也有助于理解ORM框架的工作方式,提升软件设计和开发能力。

    解决Hibernate对于Date类型的数据返回结果中时分秒不对的问题

    在使用Hibernate进行数据库操作时,有时会遇到一个常见的问题,即当从数据库中查询Date类型的数据并由Hibernate返回时,发现结果中的时分秒部分不正确。这个问题通常源于多个因素,包括日期时间的序列化与反序列化...

    hibernate源码release-4.1.4.Final版

    3. Query与Criteria:提供了两种查询方式,HQL(Hibernate Query Language)是一种面向对象的查询语言,类似于SQL;Criteria API则提供了更动态、更面向对象的查询方式。 三、实体管理 Hibernate通过@Entity注解...

    Hibernate3.4 不自动创建索引的问题

    3. **用户自定义SQL脚本**:如果在项目中使用了自定义的SQL脚本来创建表,那么Hibernate的自动创建可能被绕过。确保在这些脚本中包含了索引的创建。 4. **权限问题**:运行应用程序的用户可能没有足够的权限在...

    hibernate源码

    深入学习Hibernate源码,可以从底层了解其实现原理,包括查询优化、缓存机制、事务处理等,有助于开发者在遇到问题时能快速定位并解决,提升代码质量和性能。同时,对源码的学习也能为自定义扩展和优化提供基础。

    hibernate5.2.7-src源码

    3. 查询机制:Hibernate提供HQL(Hibernate Query Language)和Criteria API两种查询方式,此外,还支持原生SQL查询,满足不同场景需求。 4. 缓存机制:Hibernate包含一级缓存(Session级缓存)和二级缓存...

    Hibernate 中文参考文档

    Hibernate是一个开放源代码的ORM框架,它允许Java开发人员将对象模型转换为关系数据库模型,从而避免了通常在使用JDBC时的手动SQL编写。通过提供数据持久化的解决方案,Hibernate提高了开发效率,降低了数据库访问的...

    hibernate_in_action 源码

    - 调优与问题排查:掌握源码有助于在实际项目中遇到问题时,快速定位并解决。 4. 源码结构解析: - org.hibernate:核心包,包含Hibernate的主要组件,如SessionFactory、Session、Query等。 - org.hibernate....

    hibernate3.2lib及源码jar包纯净版

    通过源代码,开发者可以深入理解Hibernate的工作原理,查看和学习其内部实现,调试问题,甚至进行自定义扩展。源码可以帮助开发者更好地掌握ORM技术,提高开发效率,并且在遇到问题时能更快地定位和解决。 ...

    hibernate-src.zip源代码包

    4. **org.hibernate.type** 包:这里包含了各种Hibernate自定义类型,如日期时间类型、枚举类型等,它们将Java对象转换为数据库可识别的数据类型。 5. **org.hibernate.persister** 包:持久化相关的类,如`...

    hibernate帮助文档

    此外,Hibernate的事件监听机制允许开发者在特定的数据操作前后执行自定义逻辑,如实现数据的自动验证或更新关联对象。 对于初学者来说,理解Hibernate的配置文件(hibernate.cfg.xml)非常重要,这个文件包含了...

    Hibernate的char问题.txt

    在给定的文件“Hibernate的char问题.txt”中,虽然描述较为模糊,但我们可以根据提供的 SQL 语句推测出,这里讨论的是在使用 Hibernate 进行数据查询时,如何正确地处理 `char` 类型的数据字段。 #### 三、问题分析...

    Hibernate源码解析(一)

    - 错误排查:当遇到问题时,源码分析能更准确地定位问题所在,提高解决问题的效率。 - 自定义扩展:熟悉源码后,我们可以根据需求自定义拦截器、事件监听器等,实现特定功能。 总结来说,Hibernate源码解析是一个...

    hibernate源码包

    Hibernate 是一个著名的开源Java对象关系映射(ORM)框架,它极大地简化了数据库与Java应用程序之间的交互。在Java开发中,...同时,了解源码也有助于在遇到问题时能够更快地定位并解决问题,从而提高开发效率。

    孙卫琴hibernate sourcecode netstore源码

    深入学习和理解NetStore的源码,不仅能够帮助我们更好地使用Hibernate,解决实际开发中遇到的问题,还能提升我们的编程技巧,理解面向对象和数据库之间的桥梁是如何构建的。同时,这也是一种对开源精神的尊重,通过...

    hibernate

    在JDBC中,开发人员经常遇到大量代码重复、绑定到特定数据库、易出错的try/catch/finally块、难以处理的关系(如N+1选择问题和父/子更新)等问题。这些问题导致了开发效率低下和代码维护困难。为了解决这些问题,...

    Hibernate第三方类库

    通过dom4j,Hibernate可以轻松地处理XML元数据,创建和更新数据库表结构,以及执行HQL查询的解析。 2. log4j-1.2.8.jar: Log4j是Apache的一个开源项目,它提供了一种灵活的日志记录系统。在Java应用中,包括...

Global site tag (gtag.js) - Google Analytics