gpt4 book ai didi

java - DB中的记录不是一条一条的。 hibernate

转载 作者:行者123 更新时间:2023-11-29 03:01:18 26 4
gpt4 key购买 nike

我的数据库表用户有两列:ID (AI) 和 NAME (UNIQUE)。当我向数据库添加新记录时,一切正常,该记录的 ID = 1。

当我尝试使用现有名称添加记录时出现错误:

com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry

我想添加下一条记录,其中包含有效数据并且这条记录的 ID = 3。

有什么解决办法可以避免吗?我想要这样的 ID:

1 | 2 | 3

不是

1 | 3 | 5等

或者也许我应该先检查这个名字是否存在?哪个选项更好?

我的代码:

public boolean save(){
hibernate.beginTransaction();
hibernate.save(userObject);
hibernate.getTransaction().commit();
hibernate.close();
return true;
}

最佳答案

有不同的 ID 生成策略。如果 ID 是基于序列生成的,那么只要请求“下一个值”,它的最后一个数字就会立即递增。如果ID是根据表生成的,就不会出现你描述的问题。

关于java - DB中的记录不是一条一条的。 hibernate ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23200729/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com