我目前正在桌面应用程序中试验 JPA,同时使用 BeansBinding 来简化 GUI 开发。到目前为止,结果相当不错。
作为示例应用程序,我有一个只有一个表的小型数据库。我成功地创建了实体,PU。接下来,我将 JTable 放入主 JFrame 并将其列绑定到 JPA 查询。这就像一个魅力。因此,对实体所做的更改会反映在表中,反之亦然。
接下来我想让表格可编辑,以便将更改保存到数据库中。我想出的最简单的方法是开始查询并立即提交。因此,假设我在某处有一个 JButton,请在以下位置执行以下操作actionPerformed
:
private void saveClicked(java.awt.event.ActionEvent evt) {
this.myEntityManager.getTransaction().begin();
this.myEntityManager.getTransaction().commit();
}
这很有效,但对我来说看起来很奇怪。我也尝试在windowClosing
. 随着成功。
但是为什么这行得通?我的意思是,交易begin
和commit
. 更重要的是,这样做可以吗?