DB中的记录不是一个接一个的。过冬

时间:2014-04-21 15:47:34

标签: java mysql sql hibernate

我有db表用户有两列:ID(AI)和NAME(UNIQUE)。 当我向db添加新记录时,一切正常,此记录的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;
}

1 个答案:

答案 0 :(得分:1)

有不同的ID生成策略。如果ID是基于序列生成的,则每当"下一个值"时,它的最后一个数字立即递增。请求。如果基于表格生成ID,那么您就不会遇到问题。