Mybatis-Plus的@TableId注解type = IdType.ASSIGN_UUID和被删除的type = IdType.UUID有什么区别?
数据库中id字段没有设置为主键并且没有序列,使用type = IdType.UUID的时候updateBatchById报错:没有序列,使用type = IdType.ASSIGN_UUID则没有问题
Mybatis-Plus的@TableId注解type = IdType.ASSIGN_UUID和被删除的type = IdType.UUID有什么区别(语言-java)
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
关注参考ChatGPT部分内容:
Mybatis-Plus的@TableId注解type属性用于指定主键生成策略,其中IdType.ASSIGN_UUID表示使用UUID作为主键,IdType.UUID也表示使用UUID作为主键,但是它会在数据库中创建一个序列来生成UUID,因此在没有序列的情况下使用IdType.UUID会报错。你的情况,由于数据库中id字段没有设置为主键并且没有序列,因此使用IdType.UUID会报错。而使用IdType.ASSIGN_UUID则不需要在数据库中创建序列,因此可以正常使用updateBatchById方法。
总之,如果你想使用UUID作为主键,且数据库中没有序列,建议使用IdType.ASSIGN_UUID。如果数据库中有序列,可以使用IdType.UUID。
本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用