0

我正在使用com.j256.ormlite包。

我的目标是拥有一个工作数据库文件和一个用户可以使用 UI 按钮保存的文件。为了达到这个目标,我打算在数据库抽象层跟踪工作文件的变化,并在用户关闭程序时通知用户有未保存的数据。

我如何跟踪是否进行了更改?

我的第一个直觉是为 Dao 接口编写一个装饰器,并将 Dao Creation 包装在一个使用我的装饰器的方法中。

装饰器可以修改所有更新和删除方法。但是dao似乎支持事务,并且似乎是一个复杂而冗长的接口。

你会如何最好地解决我的问题?

4

1 回答 1

0

我的第一个直觉是为 Dao 接口编写一个装饰器,并将 Dao Creation 包装在一个使用我的装饰器的方法中。

只要对数据库的所有访问都是通过 DAO 完成的,这当然是有意义的。我不明白为什么只要使用dao.callBatchTasks(...)会通过您的装饰器调用的事务就会使事务复杂化。

在幕后,ORMLite 使用了 3 个代表 SQL 数据库的接口。

您可以为这些较低级别的类编写代理。

于 2015-07-23T19:59:38.833 回答