4/18日志(HIbernate报错总结篇)

博主简介

毕业于武汉工商,有着两年开发经验,从事全栈工作,从系统需求设计,开发,测试,部署一整套开发体系,熟悉常用的关系型数据库,MySQL、Oracle、SqlServer等 ,也了解部分NoSQL,包括Redis、MongoDB等。实习的时候从事Java开发,熟悉基本的前端框架。现在转型学python,力求做一些自己的小产品,目前把自己学的经验积累给大家。
如果愿意跟着我一起学习可以加入
QQ群 534893126
个人QQ 365926403
如遇个人技术问题可联系我哦

1.常见映射配置报错总结

(1)
Illegal attempt to map a non collection as a @OneToMany, @ManyToMany or @CollectionOfElements: model.Class.s
这个错误的原因是@OneToMany, @ManyToMany 中没有正确的映射,存在的原因可能是,多的一方需要一个Set集合,list集合
,map集合,但是我们没有在一个实体类中设置的时候就会出现该错误。
(2)
could not execute statement & Duplicate entry ‘1-1’ for key ‘PRIMARY’
这个报错原因是当我们建立一个多对多的时候,我们没有设置维护方,这样虽然没有保存数据的时候表格能够创建成功,但是我们插入数据的时候出现该错误

(3)
mappedBy reference an unknown target entity property: model.Teacher.c1 in model.Class.t
这种错误通常我们看后面就好了,是由于在配置映射的时候mappedBy的值等于一个不存在的对象的时候出现的。具体为即在后面一个类中不存在即Class类中,我们配置的MappedBy的值存在问题。
以上为我在配置应设置中常出现的错误,这里为BUG重现,但是可能我也漏掉了一些基本的错误处理,还有其他问题的可以私信我哦!

2.对于MappedBy的作用的理解

在配置Hibernate的时候,当出现一对多的时候我们 可以选择不配置mappedBy,配置了mappedBy,就相当于我们对该表加了外键,这两张表有这强联系,通常是外键存在的那一张表必须要先有值,我们才能插入后面一张表。在配置的时候,配置mappedBy的一方为维护方。
当出现多对多的时候,我们配置mappedBy的一方为维护方,但是因为是多对多,所以我们需要额外的添加一个关系表使用@joinTable,指定中间表,当两张表都为空的时候,两张表的插入数据没有顺序关系。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值