2

JPAを使用して基本的なJavaプロジェクトをセットアップしています。適切に注釈が付けられたクラスがあり、問題なく PostgreSQL データベースにデータを挿入できます。

私の質問...ここに詳細を追加する必要があるかもしれません...

「em」がEntityManagerである「em.remove(myObject)」を呼び出しているということですか。デバッグ時にオブジェクトへの変更を確認できますが、アプリケーションの完了時に変更がデータベースに反映されません。

.remove() を呼び出すとデータベースが更新されますか? それとも .flush() 呼び出しを追加する必要がありますか? 私はこれをグーグルで試してみましたが、何かが欠けているに違いありません。

ありがとう!

4

2 に答える 2

0

このremove呼び出しにより、データベースからエンティティが削除されます。ただし、キャッシュの設定によっては、これがすぐに行われない場合があります。また、削除によって違反される制約がある場合、データベースを更新しようとすると例外がスローされ、削除は失敗します。すぐに発生または失敗することを本当に保証する必要がある場合は、はい、呼び出す必要がありますflush

于 2013-05-24T00:33:33.427 に答える
0

カスケード型も定義する必要があることがわかりました。

@ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "QUESTION_ID", nullable = false)
    private Question question; 
于 2013-05-17T02:21:08.400 に答える