1

Vaadin の SQLContainer に問題があります。commit()すべての変更をデータベースにコミットします。データベースに単一の行をコミットしたいだけです。

状況は、ユーザーが新しい行を追加および削除できる TableQuery と Table があることです。各行には、 null にできないプロパティがあります。問題は、ユーザーがテーブルに 2 つの新しい行を追加し、1 つを削除した場合です。SQLContainer はすべてをコミットしようとし、1 つの項目に null 値があるため、例外をスローします。

私が彼に望む行だけをコミットするように彼に言うことは可能ですか?

rollback()すべての変更を元に戻します。問題は、ユーザーがデータベースに既に存在するアイテムまたはメモリ内の一時的なアイテムを削除できることです。

RowItemcommit メソッドがあるため、を作成すると役立ちますか?

4

1 に答える 1

1

ユーザーが新規に作成したアイテムごとに追加した後にコミットできます。これは最適な解決策ではありませんが、問題を解決する可能性があります。

于 2012-10-09T08:25:59.570 に答える