Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.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
Netbeans将数据库链接到Java(应用程序获取记录并将其保存到表中)_Java - Fatal编程技术网

Netbeans将数据库链接到Java(应用程序获取记录并将其保存到表中)

Netbeans将数据库链接到Java(应用程序获取记录并将其保存到表中),java,Java,我正在尝试创建一个应用程序,该应用程序使用用户名并将其保存在表中 这就是我得到的错误: 【EL信息】:2016-01-19 00:24:22.979--服务器会话(227610345)--EclipseLink,版本:Eclipse 持久性服务-2.5.2.v20140319-9ad6abd[EL Info]:连接: 2016-01-19 00:24:23.104--服务器会话(227610345)--文件:/C:/Users/M7edShin/Documents/NetBeansProject

我正在尝试创建一个应用程序,该应用程序使用用户名并将其保存在表中

这就是我得到的错误:

【EL信息】:2016-01-19 00:24:22.979--服务器会话(227610345)--EclipseLink,版本:Eclipse 持久性服务-2.5.2.v20140319-9ad6abd[EL Info]:连接: 2016-01-19 00:24:23.104--服务器会话(227610345)--文件:/C:/Users/M7edShin/Documents/NetBeansProjects/SaveBox/build/classes/_SaveBoxPU 登录成功【EL警告】:2016-01-19 00:24:23.154——工作单元(171647063)——异常[EclipseLink-4002] (Eclipse持久性服务-2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.DatabaseException内部 异常:java.sql.SQLIntegrityConstraintViolationException:列 “ID”不能接受空值。错误代码:20000呼叫:插入到 预编码(ID、用户名)值(?,)绑定=>[2个参数绑定] 查询:InsertObjectQuery(savebox.Precords[id=null]) java.lang.IllegalArgumentException:已创建空PK的实例 为此查找操作提供了错误的设置

这是我正在使用的代码:

  Precords p = new Precords();
    p.setUsername(txtUsername.getText());

    EntityManagerFactory emf = Persistence.createEntityManagerFactory("SaveBoxPU");
    PrecordsJpaController pjc = new PrecordsJpaController(emf);

    try {
        pjc.create(p);
    } catch (Exception e) {
        System.out.println(e);
    }

    showTable a = new showTable();
    a.setVisible(true);


正如您所看到的,我的id是正确的(
主键,并且不是NULL和唯一的
),所以为什么会出现此错误?

Precords对象没有设置id属性。所以,当您尝试插入到表中时。它正在显示列“ID”,不能接受空值

试着设置id也一样

p、 setID(1)//做一些逻辑来设置唯一值

它应该能成功运行