java - Vaadin SQLContainer 仅提交单行

标签 java liferay vaadin

我在 Vaadin 中的 SQLContainer 遇到问题。 commit() 将把所有更改提交到数据库。我只想向数据库提交一行。

情况是我有一个 TableQuery 和一个表,用户可以在其中添加和删除新行。每行都有不能为空的属性。问题是,如果用户向表中添加 2 个新行并删除 1 个。 SQLContainer 尝试提交所有内容,但会抛出异常,因为 1 项具有空值。

我是否可以告诉他只提交我希望他提交的行?

rollback() 将恢复所有更改。问题是用户可以删除数据库中已有的项目或仅临时存在于内存中的项目。

创建一个 RowItem 会有帮助吗,因为它有提交方法?

最佳答案

您可以在用户添加每个新创建的项目后提交。这不是最佳解决方案,但它可以解决您的问题。

关于java - Vaadin SQLContainer 仅提交单行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12571200/

相关文章:

java - Liferay 门户的 LDAP 配置不起作用

liferay - 如何知道 Liferay 主题中的页面是私有(private)的还是公共(public)的?

permissions - 我们可以为门户定义自定义权限吗?

vaadin - 将 Vaadin 组件与积雪结合使用

spring - Vaadin 7.4、Spring、Tomcat 7、使用@WebServlet 更改上下文根

java - 在Java中转换日期格式的最快方法?

Java私有(private)静态内部类

java - 将值数组 POST 到 java servlet

java - 衡量 HTML 等效性?

java - 从 String 转换为 int 再转换为 Vaadin 时出错