Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.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 尝试为JPA表添加新值时出错_Java_Sql Server_Jpa_Eclipselink_Derby - Fatal编程技术网

Java 尝试为JPA表添加新值时出错

Java 尝试为JPA表添加新值时出错,java,sql-server,jpa,eclipselink,derby,Java,Sql Server,Jpa,Eclipselink,Derby,我正在使用JPAAPI,它工作得很好,我曾尝试向类(表)添加新成员/列,当我尝试为它添加数据时,效果很好,但在提交部分,我得到了转储,出现以下错误 线程“main”javax.persistence.RollbackException中的异常:异常[EclipseLink-4002](Eclipse持久性服务-2.4.1.v20121003-ad44345):org.Eclipse.persistence.exceptions.DatabaseException 内部异常:java.sql.SQ

我正在使用JPAAPI,它工作得很好,我曾尝试向类(表)添加新成员/列,当我尝试为它添加数据时,效果很好,但在提交部分,我得到了转储,出现以下错误

线程“main”javax.persistence.RollbackException中的异常:异常[EclipseLink-4002](Eclipse持久性服务-2.4.1.v20121003-ad44345):org.Eclipse.persistence.exceptions.DatabaseException 内部异常:java.sql.SQLSyntaxErrorException:“DOUBLE1”不是表中的列或VTI“TEST.PERSON”。 错误代码:20000 调用:在PERSON(ID、DOUBLE1、FIRSTNAME、LASTNAME、NonseField)中插入值(?、、?、?、?) 绑定=>[5个参数绑定]

但是在表person中,我添加了成员double1,如下所示

@Entity
public class Person {

    @Id
    @GeneratedValue(strategy = GenerationType.TABLE)
    private String id;
    private String firstName;
    private String lastName;
    private double double1;

....

    public double getDouble1() {

        return double1;
    }

    public void setDouble1(double double1) {

        this.double1 = double1;
    }

这里缺少什么?

数据库表VTI“TEST.PERSON”中显然没有DOUBLE1列。向JPA实体添加新字段不会自动将其显示在数据库中。

我没有创建表,我只是用我需要的字段创建了类。您可能已经配置了EclipseLink来自动创建表。但是,这意味着表是自动创建的,而不是自动修改的(如果已经存在并且对实体进行了更改)。我完全不知道您使用的是哪个数据库,但我非常确定它附带了一个文档,告诉您如何向现有表中添加列。或者,您可以删除现有表(以及所有数据),让EcliplseLink为您创建一个具有正确列的新表?谢谢您还可以使用此处描述的“创建或扩展表”:@Chris:Good point。我不知道最新版本的EclipseLink中添加了扩展功能。