0

データベースからデータを読み取るバッチをテストしようとしています。

次のようなエンティティがあります。

@Entity
@Table(name = "CLIENT")
public class ClientEntity {
    @Id
    @Column(name = "ID")
    private Long id;

    @Column(name = "START", nullable = false)
    @Temporal(TemporalType.DATE)
    private Date start;
}

バッチを単体テストするときhibernate.hbm2ddl.import_fileshibernate.hbm2ddl.autoオプションがオンに設定されているときにオプションで読み取られた SQL スクリプトのおかげで、データをメモリ データベースに挿入しcreateます。

Insert into CLIENT(ID, START) values (1,'2006-02-01')
Insert into CLIENT(ID, START) values (2,'2010-02-01')

テーブルが正しく作成されていることをログで確認できます。それでも、CLIENT私のコードでさらに s を取得すると (おそらく何らかの結合によって)、例外が発生します。

ERROR - Column "CLIENTENTI0_.START" not found; SQL statement:
    select cliententi0_.ID as ID1_10_, cliententi0_.START 
        as START2_10_ from CLIENT cliententi0_ [42122-165]

既存の Oracle データベースにプラグインすると、コードが完全に実行されることを追加する必要があります。

コードの何が問題になっていますか? どうすれば動作させることができますか?

ご協力いただきありがとうございます!

4

1 に答える 1

0

私に恥をかかせてください。

エラーは、バッチの目的がデータベースからデータを読み取り、データベースAにデータを書き込むことであるという事実から発生しましたB

バッチをテストするために、2 つのメモリ インスタンスを設定しました。しかし、コピーと貼り付けを間違えて、同じインスタンスを 2 回作成してしまいました... には 1 つのCLIENTテーブルがあり、 にはA別のCLIENTテーブルがB1 つあるため、データを取得するときにエラーが発生しました: これらのテーブルの 1 つが不適切に作成されました!

これが他の誰かを助けることを願っています!

于 2012-05-14T16:37:56.047 に答える