2015-04-13 4 views
1

Это вопрос дизайна. Мне хотелось бы знать, что является лучшим способом реализовать это.Maker-Checker-Approver в Java-приложении

Мне нужно реализовать верстальщик шахматная утверждающего functionality.One распространенным способом является, как показано ниже:

Если есть объект Employee, то employee_mk и employee_app являются две таблицы, которые структурно identically.So, когда новый сотрудник созданный он переходит в таблицу employee_mk и ждет подтверждения. После того, как он одобрен пользователем более высокого уровня, он удаляется из таблицы employee_mk и переходит в таблицу employee_app. Короче говоря, если есть изменения, он переходит в таблицу customer_temp, а другой пользователь не может видеть изменения до тех пор, пока он не будет проверен авторизованным пользователем.

Есть ли другой способ реализовать это? в основном в один момент времени будут два значения полей объекта. Какими могут быть другие способы, кроме упомянутых выше, реализовать и спроектировать это.

ответ

1

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

Вы можете создавать виды, которые будут использоваться, которые фильтруют состояние. Вновь добавленные строки получают состояние по умолчанию «для утверждения».

Таким образом, у вас будет возможность сохранить ссылочную целостность и т. Д.

Если вы хотите иметь возможность обрабатывать обновления так же, как у вас будет больше работы, состояние должно быть частью первичного ключа.

+0

Спасибо за ваш ответ. Но это похоже на то, чтобы приложить много усилий, используя этот подход. Я имею в виду средство проверки производительности - это общая функциональность в разных приложениях. У нас есть какой-то стандартный лучший способ реализовать такую ​​вещь. – SCoder

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