`
zhoujiangzi
  • 浏览: 92771 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

JPA关联找不到关联信息

阅读更多

今天在调试程序时,出现下面这个错误:

 

javax.persistence.EntityNotFoundException: Unable to find XXXX with id 17290

  发现JPA在关联的时候,找不到子表中的数据,后来发现时有其他同事把子表中的数据删除了,造成该错误。

 

由于表结构中没有创建关联关系,所以一不小心就容易出现这个错误。

下面就记录下我的解决方法:

1. 将对应的数据补上,避免关联的时候一端出现空数据,从而造成错误。

    这个方法对于数据比较多的时候,还是比较纠结的,但是能保证数据的完整性

2. 为关联的字段设置注解,没有找到对象时,给出相应的处理。

    为字段加上@NotFound 注解,该注解的target是@Target( { METHOD, FIELD }),所以可以在方法和字段上进行添加,该注解默认返回的数据为:

NotFoundAction action() default NotFoundAction.EXCEPTION

 即需要我们处理对应的异常信息,还有一种方式IGNORE

 

 

public enum NotFoundAction {
	/**
	 * raise an exception when an element is not found (default and recommended)
	 */
	EXCEPTION,
	/**
	 * ignore the element when not found in DB
	 */
	IGNORE
}

 通过添加ignore的属性,那么在找不到子表数据时,直接返回null。

 

 

 

分享到:
评论

相关推荐

    JPA实体关联(hibernate实现)

    通常还需要一个中间表来存储两个实体的关联信息,这可以通过`@JoinTable`注解来配置,包括表名、连接列等。此外,可以使用`@OrderColumn`来指定中间表中关联实体的排序。 3. **一对一关联(JPAOneToOne)** 一对一...

    JPA中,多个表相关联设定的方法。

    在这个例子中,`Address`实体中的`person`属性就是`Person`实体的外键,而`Person`实体则不直接包含`Address`的外键,因为关联是通过`addSet`集合反向维护的。 总结来说,JPA提供了丰富的注解,如`@OneToOne`、`@...

    JPA中的一对一双向关联

    在Java Persistence API (JPA) 中,一对一双向关联是一种关系映射,它允许两个实体类之间存在一对一的关系,并且每个实体都能引用对方。这种关联是双向的,意味着每个实体都可以通过自己的属性访问到另一个实体。...

    13_JPA详解_JPA中的多对多双向关联实体定义与注解设置.zip

    7. `@JoinColumn`: 在单向关联中用于指定外键列,但在双向关联中通常不直接使用,而是由`@JoinTable`处理。 在实体类中,双向关联通常会涉及两个属性,分别代表对方实体的集合。例如,在`Student`实体中会有`List...

    jpa例子jpajpa

    2. **实体管理工厂(EntityManagerFactory)**: 这是创建和配置JPA的入口点,通过它我们可以获取到`EntityManager`实例。一般在应用启动时创建,然后在整个应用生命周期内复用。 3. **实体管理器(EntityManager)*...

    JPA-4 映射关联关系

    在实践中,理解这些关联关系的实现方式非常重要,因为它们直接影响到数据模型的设计和查询效率。合理地使用JPA的映射机制可以确保数据库操作的高效性和数据的一致性。同时,要注意避免过度设计,尽可能保持数据模型...

    10_JPA详解_JPA中的一对多双向关联与级联操作.zip

    总结,本资料包主要探讨了JPA中一对多双向关联的配置以及级联操作的使用,这些都是在实际开发中处理复杂对象关系时不可或缺的知识点。通过理解和熟练应用这些概念,开发者可以更加高效地管理数据库中的对象关系。

    14_传智播客JPA详解_JPA中的多对多双向关联的各项关系操作

    通过本教程,你可以学习到如何在JPA中设置和操作多对多双向关联,理解其背后的数据库操作,并掌握处理关联的技巧,从而更好地利用JPA进行数据持久化。在实际开发中,灵活运用这些知识能帮助你构建出更加高效和易于...

    JPA学习总结(三)--JPAOneToMany双向关联

    在本篇《JPA学习总结(三)--JPAOneToMany双向关联》中,我们将深入探讨Java Persistence API (JPA)中的OneToMany关系映射,这是一种在数据库表之间建立一对多关联的方式。JPA作为ORM(对象关系映射)框架,允许我们...

    JPA中的一对多双向关联与级联操作

    瞬时状态的管理则涉及到在操作关联实体时,确保它们都处于持久态,以避免丢失数据。 总的来说,理解并熟练掌握JPA中的一对多双向关联和级联操作,能够帮助开发者更高效地管理和操作数据库,减少代码量,提升开发...

    JPA学习总结(四)--JPAManyToMany双向关联

    本篇我们将深入探讨JPA中的多对多双向关联,即`@ManyToMany`关系。 在关系数据库中,多对多关联是最复杂的一种关系类型,它可以表示两个实体之间无序的、可重复的关系。例如,一个学生可以选修多门课程,一门课程也...

    JPA

    JPA允许开发人员将数据库表映射到Java对象,从而在应用程序中以面向对象的方式处理数据,而无需直接操作SQL语句。 ### JPA的核心概念 在深入细节之前,了解JPA的基本概念至关重要: - **实体(Entity)**:这是...

    JPA 标注 JPA标签手册

    注解是一种简单、表达性强的在Java源代码上添加元数据的方法,这些元数据在编译时会被嵌入到对应的Java类文件中,由TopLink JPA在运行时解释以管理JPA行为。 例如,要将一个Java类标记为JPA实体,可以使用@Entity...

    12_传智播客JPA详解_JPA中的一对一双向关联

    在Java世界中,Java Persistence API(JPA)是用于管理和持久化Java对象到数据库的标准规范。JPA通过ORM(对象关系映射)技术使得开发者能够用面向对象的方式处理数据库操作,而无需关注底层的SQL语句。本讲解将深入...

    10_传智播客JPA详解_JPA中的一对多双向关联与级联操作

    双向关联使得在操作一方时能方便地获取到多方的信息,反之亦然。例如,班级实体可以有一个学生列表,而学生实体也可以有一个对所属班级的引用。双向关联需要在两个实体类中都添加相应的注解,一方使用`@ManyToOne`,...

    JPA中实现双向多对多的关联关系示例代码

    在Java世界里,Java Persistence API(JPA)是用于管理和持久化Java对象到数据库的标准规范。JPA通过ORM(对象关系映射)技术使得开发者能够用面向对象的方式处理数据库操作,而无需直接编写SQL语句。本文将深入探讨...

Global site tag (gtag.js) - Google Analytics