我有一个Topic
课程,其范围为Model
创建表主题的第一条记录很好,但它无法创建另一条记录:
[PersistenceException:ERROR执行DML bindLog []错误[错误: 重复键值违反唯一约束“pk_topics”\ n详细信息: 密钥(id)=(1)已经存在。]]
当然在这一行发生了例外:
topic.save();
这很奇怪,因为:
id
是使用注释@Id
定义的,假设自动增量为下一个值,但我对重复ID 我该怎么做才能解决这个问题?
班级Model
(当然不是全部,只有相关内容):
@Entity
@Table (name = "topics")
public class Topic extends Model {
@Id
public long id;
public String title;
public String content;
@ManyToOne
@JoinColumn(name = "forumId")
public Forum forum;
@ManyToOne
@JoinColumn(name = "userId")
public User user;
public Date date;
public static void create(Topic topic) {
topic.save();
}
答案 0 :(得分:1)
我找到了解决方案。当我将id
的访问修饰符更改回protected
时,它再次起作用。很奇怪,但现在它完美无缺。
解释