我正在使用com.j256.ormlite包。
我的目标是拥有一个工作的数据库文件和用户可以使用UI按钮保存的文件。为了实现这一目标,我打算在数据库抽象层跟踪工作文件中的更改,并在关闭程序时通知用户存在未保存的数据。
如何跟踪是否进行了更改?
我的第一个直觉是为Dao界面编写装饰器并将Dao Creation包装在一个使用我的装饰器的方法中。
装饰者可以修改所有更新&删除方法。但dao似乎支持交易,似乎是一个复杂而漫长的界面。
您最好如何解决我的问题?
答案 0 :(得分:0)
我的第一个直觉是为Dao界面编写装饰器并将Dao Creation包装在一个使用我的装饰器的方法中。
只要通过DAO完成对数据库的所有访问,这肯定是有意义的。我不明白为什么交易会使问题变得复杂,只要使用dao.callBatchTasks(...)
来调用装饰器。
在幕后,ORMLite使用3个代表SQL数据库的接口。
您可以为这些较低级别的类编写代理。