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

雨点打透心脏的1/2处 2023-10-12 16:05 167阅读 0赞

报错问题:提示 Could not determine type for: com.yt.yhgl.entity.UserCertificate, at table: user, for columns: [org.hibernate.mapping.Column(user_certificate)]、耽误了小半个小时。

eb89f9c4aef049daa57ab1d11ef8b386.png

看了网上的很多解决方法比如注解要么写在字段上,要么写在getXX上,不能混合使用,否则会报这个错误,试过不行。

根本问题:最后发现是实体类上有@Entity注解和@TableField(exist = false)冲突。

原因是@Entity注解和@TableField(exist = false)是两个不同的注解,来自于不同的框架。

@Entity注解来自于JPA规范,用于标识一个Java类为实体类,

而@TableField注解来自于MyBatis-Plus框架,用于标识一个Java类的属性与数据库表中的字段的映射关系。因为这两个注解来自于不同的框架,所以它们的作用和使用方式也不同。在同一个Java类中同时使用这两个注解是会导致编译错误。

也可以把@TableField(exist = false)换成@Transient注解

因为@Transient和@Entity同样来自于JPA规范,@Transient也是用来标识一个Java类的属性不需要进行持久化。

发表评论

表情:
评论列表 (有 0 条评论,167人围观)

还没有评论,来说两句吧...

相关阅读