java - 玩!框架与 Ebean : PersistenceException

标签 java jpa web playframework-2.0 ebean

我有一个 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();

这很奇怪,因为:

  1. 它以前没有问题。
  2. 属性 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/

相关文章:

java - 强制用户在 Java 中输入 int - 收到不清楚的错误

java - JPA - 延迟加载的实体引用的字段为空

hibernate - @ManyToOne(fetch = FetchType.LAZY) 不适用于非主键引用的列

css - 图像按钮在 Firefox 中的图像顶部显示 'Submit query'

css - 使用进度条将视频加载到网页之前的最佳方式

java - log4j2属性为控制台和文件设置不同的阈值

java - 在for循环中设置数组内容

java - JSP/Java页面编码和数据库排序问题

mysql - 我尝试使用 JPA 查询中的内部联接更新一些记录,但出现一些异常

java - Spring MVC 在一个请求中返回多个对象