我有一个 Topic
类,它扩展了 Model
。
创建表主题的第一条记录很好,但无法创建另一条记录:
[PersistenceException: ERROR executing DML bindLog[] error[ERROR: duplicate key value violates unique constraint "pk_topics"\n Detail: Key (id)=(1) already exists.]]
异常当然发生在这一行:
topic.save();
这很奇怪,因为:
- 它以前没有问题。
- 属性
id
是用注释@Id
定义的,它假设 auto increment 到下一个值,但我得到异常重复的 ID。
我应该怎么做才能解决这个问题?
class 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();
}
最佳答案
我找到了解决方案。当我将 id
的访问修饰符改回 protected
时,它再次起作用。很奇怪,但现在它完美无缺。
解释?
关于java - 玩!框架与 Ebean : PersistenceException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12760690/