hibernate实现ID序列自增,异常处理

目录

一、问题描述

二、问题解析


一、问题描述

明明数据库表设置了id自增,为啥添加数据时,会抛出异常呢?

具体内容如下:

(1)控制台异常打印如下

org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save()

(2)数据库表

(3)entity表

public class UEntity {

    @Id
    private Long id;

    ......
}

二、问题解析

hibernate 是通过 entity 表映射来访问数据库表的。

如果 entity 表映射配置不正确,就会抛出这样的异常。

所以,既然数据库表配置了自增,那么就是 entity 表配置的问题。

entity表正确配置

public class UEntity {

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

    ......
}

所以,entity表更改为上面的配置,异常就解决了。


我是程序员娟娟,

致力将工作中遇到的问题和解决方案记录下来,

分享给更多需要的同行。

如果对你有帮助,不妨点个关注吧!