2012-09-24 31 views
1

我遇到了Vaadin中的SQLContainer問題。 commit()將提交對數據庫的所有更改。我只想提交一行到數據庫。Vaadin SQLContainer只提交單行

情況是我有一個TableQuery和一個表,用戶可以添加和刪除新行。每行都有屬性,可以不爲空。問題是,如果用戶向表中添加了2個新行並刪除了一行。 SQLContainer會嘗試提交所有內容,並會拋出異常,因爲1個項目具有空值。

我可以告訴他只提交我想要的行嗎?

rollback()將恢復所有更改。問題是用戶可以刪除已經在數據庫中的項目或僅在內存中爲臨時項目的項目。

它會幫助創建一個RowItem,因爲那個提交方法?

回答

1

您可以在用戶添加新創建的項目之後提交。這不是最佳解決方案,但它可以解決您的問題。