Caused by: org.hibernate.AnnotationException: No identifier specified for entity

/ SpringBoot / 没有评论 / 236浏览

今天在使用JPA开发项目时遇到了上面的错误,因为数据库中的表主键采用的是主键自增的方式。所以在Entity类中的主键字段上添加以下注解:

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

但在启动项目时抛出了上面的错误,于是在网上查询资料时发现这种问题导致的原因是Entity类找不以主键,于是认真的检查了一下代码找到了问题所在。问题就出现在@Id注解上。因为JPA采用的是hibernate的技术,而hibernate采用的是javax中的包,因为我之前导入注解包时,没有注意@Id注解的包引入的是org.springframework.data.annotation.Id这个包的注解,所以就抛出了上面的异常,只要我们将@Id注解的包改成javax包,上述的问题就解决了。