Hibernate 使用中异常锦集

环境:

​ mysql:5.7.19

​ Hibernate:5.2.3

Error1

异常:Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'hibernate.hibernate_sequence' doesn't exist

解决:配置方言为<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>

原因:hibernate自动建表出错,但是手动在MySql数据库中建表成功后却能用hibernate对数据库内容进行CRUD操作,很可能原因为dialect方言配置不当。在mysql 5.0版本以后不支持 type=InnoDB 关键字,需要使用 engine=InnoDB,配置方言为:

<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>

更改完毕后建表成功

Error2

异常:org.hibernate.MappingException: Could not determine type for:

原因及解决:Hibernate 注解 @OneToOne 时候,出现以下错误,经调试,发现在同一个类中,注解要么全部放在字段上,要么全部放在get方法上,不能混合使用!

Error3

异常:

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails (`th`.`cst_linkman`, CONSTRAINT `FKh9yp1nql5227xxcopuxqx2e7q` FOREIGN KEY (`lkm_cust_id`) REFERENCES `cst_customer` (`cust_id`))
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

原因:使用一对多注解来解决外键问题时,多方实体类添加了外键字段

解决:将多方实体类外键相关字段及get,set方法删除在进行执行问题解决

备注:数据库对应表结构生成时,均不需要对外键进行字段描述,即均不需要添加外键字段,外键字段均有注解进行描述

Error4

异常:Hibernate:5.2.11版本根据数据库实体类无法生成外键

解决:Hibernate版本改为5.2.3版本即可

原因:未知

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本文中我们介绍并比较两种最流行的开源持久框架:iBATIS和Hibernate,我们还会讨论到Java Persi...
    大同若鱼阅读 9,804评论 4 27
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,368评论 18 399
  • 转载,觉得这篇写 SQLAlchemy Core,写得非常不错。不过后续他没写SQLAlchemy ORM... ...
    非梦nj阅读 10,836评论 1 14
  • Hibernate: 一个持久化框架 一个ORM框架 加载:根据特定的OID,把一个对象从数据库加载到内存中OID...
    JHMichael阅读 6,120评论 0 27
  • 相信文友们这段时间会被一句话给刷屏吧,国漫的《镇魂街》。初次看见末将于禁的时候是在段子上看见的,什么末将于禁愿为曹...
    书茂阅读 3,717评论 0 0

友情链接更多精彩内容