`

处理JPA异常: More than one row with the given id entifier was found

阅读更多

在使用hibernate entitymanager的时候,我们会用 entityManager.createQuery("xxx").getResultList(); 来获取对象。在某些时候,就会产生如下的异常:

 

 More than one row with the given identifier was found

 这是由getResultList()抛出来的。由于所搜索出的数据会包含重复的id,同时在对象映射上使用@ManyToOne或者@OneToOne,因此hibernate产生异常。

 

由于hibernate会根据搜索语句和关联的对象自动产生很多sql语句,因此要调试的话首先把hibernate sql log打开,把报错的最后一个sql取出来单独执行,看看是否产生重复数据。

 

基本的解决方法就是把重复的数据处理掉,就不会产生异常了。

分享到:
评论
1 楼 失语的乌鸦 2011-10-12  

相关推荐

    JPA技术:年初写的办公室OA系统

    6. **事务处理**: 在需要的地方开始和提交事务,处理异常回滚。 ### 在OA系统中的应用 在办公室OA系统中,JPA可能用于管理用户、部门、任务、文档等各种业务对象。例如,用户实体可能包含用户名、密码、部门ID等...

    Pro JPA2 Mastering the Java Persistence API

    《Pro JPA2:精通Java持久化API》是Apress出版社出版的一本专业书籍,针对的是Java企业版(Java EE)6平台上的JPA2规范。这本书由Keith Schincariol和Merrick Schincariol撰写,两位作者也是《Pro EJB3:Java持久化...

    解决SpringDataJPA报错:org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null w

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/...

    eladmin-jpa版本:前端源码,项目基于 Spring Boot 2.1.0

    eladmin-jpa版本:前端源码,项目基于 Spring Boot 2.1.0 、 Spring Boot Jpa、 Spring Security、Redis、Vue的前后端分离后台管理系统, 权限控制采用 RBAC,菜单动态路由,Bug 反馈移步Github

    使用@IdClass创建联合主键,并实现外部关联

    在 Java Persistence API(JPA)中,联合主键是指由多个字段组成的主键,可以使用@IdClass注解来实现。在本文中,我们将介绍如何使用@IdClass创建联合主键,并实现外部关联。 首先,我们需要创建三个实体类:...

    hibernate常见异常针对于jpa

    ### Hibernate常见异常及解决方案 #### 一、保存了一个父对象,但是它的关联对象没有保存到数据库中 在Hibernate中,当我们保存一个实体时,如果该实体与其他实体有关联关系(如一对多或多对一),那么可能遇到的...

    jpa例子jpajpa

    JPA允许你在Java应用程序中以对象的形式处理数据,这些对象可以自动转换为数据库中的记录。 在JPA的例子中,我们通常会涉及以下几个核心概念: 1. **实体(Entity)**: 实体是与数据库表相对应的Java类。它们通常...

    spring+jpa+全局异常+单元测试

    全局异常处理是任何应用都应该具备的重要特性,它可以统一捕获和处理程序中可能出现的异常,避免因未处理的异常导致系统崩溃。在Spring框架中,我们可以通过创建一个@ControllerAdvice注解的类来实现全局异常处理。...

    websphere8.5配置jpa2.1

    在IBM Websphere 8.5环境中配置JPA 2.1的支持,主要是因为该版本默认仅支持JPA 2.0,而某些项目可能需要使用JPA 2.1提供的新特性和功能。以下是一步步指导如何进行配置: 1. **修改Hibernate配置文件**: 在项目的...

    Pro JPA2 精通JPA2

    《Pro JPA2:精通Java™ Persistence API》是一本由Mike Keith和Merrick Schincariol撰写的关于Java持久化API(JPA)的权威指南。本书深入探讨了JPA2,即Java Persistence API的第二版,是Java EE 6标准的一部分。...

    Pro JPA 2 in Java EE 8: An In-Depth Guide to Java Persistence APIs.pdf

    Learn to use the Java Persistence API (JPA) and other related APIs as found in the Java EE 8 platform from the perspective of one of the specification creators. A one-of-a-kind resource, this in-depth...

    Spring-data-jpa常用教程.pdf

    - 继承 `JpaRepository, ID>` 接口,其中 `T` 是实体类型,`ID` 是主键类型。例如: ```java public interface UserRepository extends JpaRepository, Long> { // 自定义查询方法 } ``` 3. **自定义查询方法...

    JPA核心知识讲解

    下面是 JPA 核心知识的讲解,包括 JPA 概述、JPA 入门、JPA 实体、JPA 实体管理器等。 JPA 概述 JPA 是什么?JPA 是 Java Persistence API 的缩写,全称为 Java 持久化 API。JPA 是一个 Java 标准,提供了一个通用...

    Spring Data JPA从入门到精通

    6. **JPA注解**:例如@Id、@GeneratedValue、@Column、@Table等,这些注解用于在实体类上声明元数据,指示JPA如何处理实体和数据库之间的映射。 7. **Query方法**:Spring Data JPA允许通过方法名自动推断查询逻辑...

    spring-data-jpa-2.0.9.RELEASE-API文档-中文版.zip

    Maven坐标:org.springframework.data:spring-data-jpa:2.0.9.RELEASE; 标签:springframework、data、spring、jpa、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,...

    Spring JPA 配置类包集合 方便大家使用

    Spring JPA,全称为Spring Data JPA,是Spring框架的一部分,专门用于简化Java持久层编程,尤其是与关系型数据库的交互。它建立在Java Persistence API(JPA)之上,提供了更高级别的抽象,使得开发者可以更加专注于...

    Pro JPA 2 Mastering the Java Persistence API

    ### Pro JPA 2:精通Java Persistence API #### 核心知识点概览 - **Java Persistence API (JPA) 2.0**:一个用于Java应用程序的对象-关系映射(ORM)工具的标准接口。 - **新特性介绍**:包括额外的对象-关系映射...

    JPA研究:有关JPA的一些测试和研究

    Java持久化API(Java Persistence API,简称JPA)是Java平台上的一个标准,用于管理和持久化应用程序中的对象。它是Java开发人员处理数据库操作的一种优雅方式,替代了传统的JDBC和手动SQL编写,提供了面向对象的...

    blueprints-jpa-graph:蓝图 API 在 JPA 上的实现

    1:JPA: : 2:对象数据库: ://www.objectdb.com/ 3:JPA 性能基准: ://www.jpab.org/All/All/All.html 支持功能 支持所有蓝图功能, 除外 支撑 支持 支持 Java 5、6 或 7 支持 JPA 你需要哪一个取决于你想用...

Global site tag (gtag.js) - Google Analytics