Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 玩带有Ebean的框架:PersistenceException_Java_Jpa_Web_Playframework 2.0_Ebean - Fatal编程技术网

Java 玩带有Ebean的框架:PersistenceException

Java 玩带有Ebean的框架:PersistenceException,java,jpa,web,playframework-2.0,ebean,Java,Jpa,Web,Playframework 2.0,Ebean,我有一个主题类,它扩展了模型 创建表主题的第一条记录可以,但无法创建另一条记录: [PersistenceException:执行DML bindLog时出错[]错误[错误: 重复的键值违反唯一约束“主键主题”\n详细信息: 密钥(id)=(1)已存在。]] 例外情况当然发生在这一行: topic.save(); 这很奇怪,因为: 它以前工作没有问题 属性id是用注释@id定义的,该注释假定自动递增到下一个值,但我得到了关于重复id的异常 我该怎么解决这个问题 类模型(当然不是全部,只是相关的

我有一个
主题
类,它扩展了
模型

创建表主题的第一条记录可以,但无法创建另一条记录:

[PersistenceException:执行DML bindLog时出错[]错误[错误: 重复的键值违反唯一约束“主键主题”\n详细信息: 密钥(id)=(1)已存在。]]

例外情况当然发生在这一行:

topic.save();
这很奇怪,因为:

  • 它以前工作没有问题
  • 属性
    id
    是用注释
    @id
    定义的,该注释假定自动递增到下一个值,但我得到了关于重复id的异常
  • 我该怎么解决这个问题

    模型
    (当然不是全部,只是相关的)

    @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
    时,它又起作用了。奇怪,但现在它工作得很好


    说明?

    您能出示您的型号和保存代码吗?你使用固定装置吗?你的游戏版本和操作系统是什么@Id不足,可能需要一个序列:。我使用了Identity。我添加了
    主题
    类的代码。我不知道什么是固定装置。我在玩!linux Ubuntu下的2.0。