2015-07-20 5 views
0

Я работаю с пакетом com.j256.ormlite.Как отслеживать с помощью ormlite изменения базы данных?

Моя цель - иметь рабочий файл базы данных и файл, который пользователь может сохранить с помощью пользовательского интерфейса. Для достижения этой цели я намерен отслеживать изменения в рабочем файле на уровне абстракции базы данных и уведомлять пользователя о том, когда он закрывает программу, что есть несохраненные данные.

Как я могу отслеживать, если изменения сделаны?

Моя первая интуиция заключается в том, чтобы написать декоратор для интерфейса Dao и обернуть создание Dao одним методом, который использует мой декоратор.

Декоратор может изменить все модификации & методы удаления. Но dao, похоже, поддерживает транзакции и, кажется, сложный и длинный интерфейс.

Как бы вы лучше всего решили мою проблему?

ответ

0

Моя первая интуиция заключается в том, чтобы написать декоратор для интерфейса Dao и обернуть создание Dao одним методом, который использует мой декоратор.

Это, безусловно, имело бы смысл, если весь доступ к базе данных осуществляется через DAO. Я не понимаю, почему транзакции осложнят вопросы, если используются dao.callBatchTasks(...), которые будут звонить через ваш декоратор.

Под обложками ORMLite использует 3 интерфейса, которые представляют базу данных SQL.

Вы можете написать прокси для этих классов, которые ниже уровня.

Смежные вопросы