美文网首页
级联表外键对象不存在

级联表外键对象不存在

作者: 金声玉振 | 来源:发表于2015-05-18 17:06 被阅读972次

表ListRelation通过resourceId与resource表级联:

@ManyToOne(fetch = FetchType.LAZY)

@JoinColumn(name = "resource_id")

@NotFound(action=NotFoundAction.IGNORE)

private Resource resource;

如果数据库中有一个资源在resource表中找不到,调用(ListRelation)obj.getResource( )时会报异常:

com.sun.jdi.InvocationException occurred invoking method.

解决方法就是在级联表时加入一个属性,上面粗体显示,注解配置实体类的关联关系,在many-to-one,one-to-one关联中,一边引用自另一边的属性,如果属性值为某某的数据在数据库不存在了,hibernate默认会抛出异常。解决此问题,加上如下注解就可以了:

@NotFound(action=NotFoundAction.IGNORE),意思是找不到引用的外键数据时忽略,NotFound默认是exception

JPA注解记录

相关文章

  • 级联表外键对象不存在

    表ListRelation通过resourceId与resource表级联: @ManyToOne(fetch =...

  • MySQL实践笔记

    关于外键 子表: 父表: 外键 支持外键只能使用 InnoDB 存储引擎。 级联操作问题 ON UPDATE CA...

  • 草稿四

    ● 外键的删除操作---on_delete参数指定 <1> models.CASCADE---级联删除外键表的字段...

  • @OneToOne 入门

    几个问题 什么是级联操作? 级联保存操作 当两边只使用@OneToOne会创建表,并且会建外键,保存会报错,说明@...

  • java基础-day32-数据库3.0

    10.6 外键约束 10.7 级联操作 11. 数据表修改 alter 11.1 添加字段 11.2 修改字段 1...

  • MySQL约束以及表之间的关系(主键and外键)

    一:约束 分类: 练习 二:为何要分表 三:外键约束 四:级联操作 五:多对多关系的处理

  • MySQL级联操作

    MySQL级联操作 外键约束对子表的含义: 如果在父表中找不到候选键,则不允许在子表上进行insert/updat...

  • orm查询操作

    单表查询操作 外键的跨表查询 正向查询(在有外键字段的表向没有的表查询) 反向查询(没有外键的字段向有外键字段的表...

  • 09_MySQL多表 & JDBC

    MySQL多表 外键 主表主键和从表外键 ==(从表的外键引用主表的主键)== 从表的外键类型必须和主表的主键类型...

  • 创建外键、更新限制、删除级联

    users表 blogs 表 在blogs表中创建外键 更新限制:在新增一个博客,userid是一个不存在的用户,...

网友评论

      本文标题:级联表外键对象不存在

      本文链接:https://www.haomeiwen.com/subject/rdclqttx.html