`

工作中遇到的一个关于hibernate jpa的问题

 
阅读更多

昨天用hibernate-jpa(2.0)时发现一个问题,刚开始以为是查询sql和自己代码的bug。

经反复调试,发现native query不使用join的sql无异常。

使用join的sql如果同时取a,b两张表的id,会导致取出的值完全相同。

例如:

select a.id,b.id from tablea a ,tableb b where a.id=b.aid 

查询出来的a.id和b.id的值是完全相同的(mysql里是肯定不一样的)。

但同样的hql使用createquery构造Query就一点问题没有,很是奇怪。

具体原因待查,特此记录下来,欢迎大家共同探讨。

另外,用createquery构造query时,hql中使用limit限制结果集大小是无效的。

需使用:

query.setFirstResult((pageNum-1)*pageSize);

query.setMaxResults(pageSize);

来限制结果集大小。

分享到:
评论

相关推荐

    Spring hibernate jpa Project sample

    【Spring Hibernate JPA 项目样本】是一个典型的Java后端开发示例,它结合了Spring框架、Hibernate ORM工具和Java Persistence API(JPA)来构建数据库驱动的应用程序。这个项目展示了如何在实际开发中有效地整合这...

    mysql的驱动包,适合使用hibernate和jpa

    在描述中提到的“至今没有遇到什么问题”,可能意味着你选择了一个稳定且广泛测试过的驱动版本。 Hibernate是一款流行的ORM框架,它允许开发者使用面向对象的编程方式来操作数据库。Hibernate通过JDBC驱动与MySQL...

    JPA与Hibernate的优缺点

    Hibernate是一个基于JPA规范的开源ORM框架,它不仅实现了JPA规范,还提供了许多超出JPA范围的高级功能。Hibernate以其强大的查询语言(HQL)、缓存机制以及高度的可配置性著称,使其成为Java领域中最受欢迎的持久化...

    基于hibernate的jpa

    JPA(Java Persistence API),作为Sun官方提出的Java持久化规范,其核心目标在于为Java开发人员提供一个高效、统一的对象/关系映射(ORM)工具,以简化对关系型数据库的操作,尤其是在复杂的企业级应用中。JPA通过...

    Hibernate使用JPA注解代码

    在Java世界中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者使用面向对象的方式处理数据库操作。而JPA(Java Persistence API)是Java标准,为ORM提供了一个统一的API。当我们将Hibernate与JPA...

    springmvc+jpa(hibernate实现)+spring整合实例

    工作用了springmvc+jpa+spring这么长时间,这段时间正好有点时间就想整合一下,但在整合过程中遇到了各种问题,上网查了很多资料但讲的都很模糊或者是没有注释,在我一步一步的试验中终于整合成功了,做为我自已以后...

    解决Hibernate JPA中insert插入数据后自动执行select last_insert_id()

    在使用Hibernate JPA进行数据操作时,我们可能会遇到一个特定的情况,即在执行完插入(insert)操作后,系统会自动执行一个`select last_insert_id()`的查询来获取刚刚生成的自增主键值。这个问题在Spring MVC集成...

    JPA 与hibernate所需jar包

    整合JPA与Hibernate使得开发者可以专注于业务逻辑,而不是底层数据库操作,同时,由于Hibernate的广泛使用和社区支持,遇到问题时通常能找到丰富的解决方案。正确配置和使用这两个工具,可以大大提高Java应用的开发...

    仿照jpa/Hibernate通过反射导入Excel

    Hibernate作为JPA的一个实现,提供了更丰富的功能和更高的性能。在数据导入过程中,我们可以利用这两个框架的实体管理和事务控制能力,将Excel数据高效地持久化到数据库。 反射在导入Excel时的作用主要体现在以下几...

    解决Hibernate中MySQL的中文排序

    在使用Hibernate进行数据库操作时,可能会遇到MySQL数据库中文排序不正确的问题。这通常是由于字符集设置、数据库排序规则以及Hibernate的配置等因素导致的。本文将深入探讨如何解决这些问题,确保MySQL数据库中的...

    hibernate常见异常针对于jpa

    在Hibernate中,当我们保存一个实体时,如果该实体与其他实体有关联关系(如一对多或多对一),那么可能遇到的问题是,尽管父实体被成功保存到了数据库中,但与其关联的对象却没有被一起保存。 **解决方案:** 1. *...

    JPA 开发中遇到的错误

    此异常表明在配置`EntityManagerFactory`时遇到了问题,可能是由于配置文件(如`persistence.xml`)中的错误,或者是依赖的JPA提供者(如Hibernate)版本不兼容。检查配置文件的正确性和所有依赖库的版本一致性。 #...

    JPA所有教学资料.rar

    **"J2EE问题(关于hibernate和JPA).txt"** 文件可能包含了开发者在实际项目中遇到的问题,这些问题可能涉及到JPA和Hibernate的集成,事务管理,性能调优等。在J2EE环境中,JPA和Hibernate可以很好地与Servlets, ...

    SpringMvc+Jpa+Hibernate+JqueryUi实战(最新代码)

    这是一个基于Java技术栈的Web应用实战项目,使用了Spring MVC、JPA、Hibernate以及Jquery UI等技术。本文将详细解析这些技术的核心概念及其在项目中的应用。 首先,Spring MVC是Spring框架的一部分,是一个用于构建...

    hibernate tools源码运行或修改需要的jar

    Hibernate Tools 是一个强大的开发工具,它为Hibernate ORM框架提供了丰富的集成开发环境支持,包括逆向工程(从数据库生成实体类)、代码生成、JPA支持以及HQL和SQL查询的调试等。要运行或修改Hibernate Tools的...

    Spring2.5 + JPA(Hibernate)实现

    3. **Hibernate ORM**: Hibernate是JPA的一个实现,提供了更丰富的功能,如二级缓存、查询语言HQL(Hibernate Query Language)和 Criteria API。在Spring中,我们可以使用Hibernate的JPA供应商来配置和使用...

    HibernateJPA

    Hibernate作为JPA的一个实现,提供了更丰富的功能和更好的性能。 **1. 安装与配置** 在项目中使用Hibernate JPA,首先需要将其依赖添加到项目的构建文件中,如Maven的pom.xml或Gradle的build.gradle。之后,配置...

Global site tag (gtag.js) - Google Analytics