Save changes to database vaadin(保存对数据库 vaadin 的更改)
问题描述
我有一个应用程序,它有一个表格,当您单击表格中的一个项目时,它会使用其数据(FieldGroup)填充一组文本字段,然后您可以选择保存更改我是想知道如何保存用户对我的 postgres 数据库所做的更改.我正在为这个应用程序使用 vaadin 和 hibernate.到目前为止,我已经尝试过
I have an application which has a table and when you click on an item in the table it fills in a group of textfields with its data (FieldGroup), and then you have the option of saving the changes I was wondering how would I save the changes the user makes to my postgres database. I am using vaadin and hibernate for this application. So far I have tried to do
editorField.commit() // after the user clicks the save button
我试过了
editorField.commit()
hbsession.persist(editorField) //hbsession is the name of my Session
我也试过了
editorField.commit();
hbsession.save(editorField);
最后两个给我以下错误
Caused by: org.hibernate.SessionException: Session is closed!
推荐答案
我已经弄清楚如何对数据库进行更改,这里有一些代码来演示:
I have figured out how to make changes to the database here is some code to demonstrate:
try {
/** define the session and begin it **/
hbsession = HibernateUtil.getSessionFactory().getCurrentSession();
hbsession.beginTransaction();
/** table is the name of the Bean class linked to the corresponding SQL table **/
String query = "UPDATE table SET name = " + textfield.getValue();
/** Run the string as an SQL query **/
Query q = hbsession.createQuery(query);
q.executeUpdate(); /** This command saves changes or deletes a entry in table **/
hbsession.getTransaction().commit();
} catch (RuntimeException rex) {
hbsession.getTransaction().rollback();
throw rex;
}
这篇关于保存对数据库 vaadin 的更改的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:保存对数据库 vaadin 的更改


- Eclipse 的最佳 XML 编辑器 2022-01-01
- 如何指定 CORS 的响应标头? 2022-01-01
- 在 Java 中,如何将 String 转换为 char 或将 char 转换 2022-01-01
- java.lang.IllegalStateException:Bean 名称“类别"的 BindingResult 和普通目标对象都不能用作请求属性 2022-01-01
- 未找到/usr/local/lib 中的库 2022-01-01
- 获取数字的最后一位 2022-01-01
- GC_FOR_ALLOC 是否更“严重"?在调查内存使用情况时? 2022-01-01
- 将 Java Swing 桌面应用程序国际化的最佳实践是什么? 2022-01-01
- 如何使 JFrame 背景和 JPanel 透明且仅显示图像 2022-01-01
- 转换 ldap 日期 2022-01-01