1

私はJPa APIを使用しており、その機能はうまく機能しています。新しいメンバー/列をクラス(テーブル)に追加しようとしましたが、データを追加しようとすると正常に動作しますが、コミット部分で次のエラーでダンプされます

スレッド「メイン」での例外 javax.persistence.RollbackException: 例外 [EclipseLink-4002] (Eclipse Persistence Services - 2.4.1.v20121003-ad44345): org.eclipse.persistence.exceptions.DatabaseException 内部例外: java.sql.SQLSyntaxErrorException: 'DOUBLE1' は、テーブルまたは VTI 'TEST.PERSON' の列ではありません。エラー コード: 20000 呼び出し: INSERT INTO PERSON (ID, DOUBLE1, FIRSTNAME, LASTNAME, NONSENSEFIELD) VALUES (?, ?, ?, ?, ?) bind => [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;
    }

ここで何が欠けていますか?

4

1 に答える 1

3

データベース テーブル VTI 'TEST.PERSON' には、明らかに列 DOUBLE1 はありません。JPAエンティティに新しいフィールドを追加しても、データベースにも自動的に表示されるわけではありません。

于 2013-01-23T12:19:58.733 に答える