Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Синхронизировать справочник в коде и справочник в БД / 16 сообщений из 16, страница 1 из 1
11.11.2016, 13:50
    #39345589
just_vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизировать справочник в коде и справочник в БД
Всем привет!
Столкнулся со следующей ситуацией, что у нас есть справочники в Java коде (представлены могут быть по разному, как правило final static константы или enum'ы) и есть соответствующая таблица справочник в БД, и как ни крути они нужны и тут и там.
Подскажите, встречается ли в вашей практике такие ситуации?
Используете какие-либо механизмы валидации/автоматической синхронизации, что справочник в коде совпадает со справочником в БД?
...
Рейтинг: 0 / 0
11.11.2016, 13:57
    #39345598
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизировать справочник в коде и справочник в БД
just_vladimirи как ни крути они нужны и тут и там
а данные из БД не нужны и тут и там?
just_vladimirсправочник в коде
покажи
...
Рейтинг: 0 / 0
11.11.2016, 14:02
    #39345601
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизировать справочник в коде и справочник в БД
just_vladimir,

Если справочник в БД, то константы в коде идут лесом. Всё просто же.
...
Рейтинг: 0 / 0
11.11.2016, 14:13
    #39345615
just_vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизировать справочник в коде и справочник в БД
Blazkowiczjust_vladimir,
Если справочник в БД, то константы в коде идут лесом. Всё просто же.
Дак вот что то пока плохо себе представляю как их лесом то отправить, вот есть код, в котором switch/case или просто какая-нибудь конструкция на базе if/else, что мне с ней делать?
...
Рейтинг: 0 / 0
11.11.2016, 14:15
    #39345617
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизировать справочник в коде и справочник в БД
just_vladimirДак вот что то пока плохо себе представляю как их лесом то отправить, вот есть код, в котором switch/case или просто какая-нибудь конструкция на базе if/else, что мне с ней делать?
Железная линейка + HashMap<Value, Action>
...
Рейтинг: 0 / 0
11.11.2016, 14:16
    #39345618
just_vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизировать справочник в коде и справочник в БД
Ну в самом тупом случае, мне нужно с каждой записью (строчке в таблице, элементе в графе, да где угодно) сопоставить некоторую иконку, которая определяется типом элемента, типы элемента это записи в таблице справочнике, какие будут предложения на этот счет?
...
Рейтинг: 0 / 0
11.11.2016, 14:17
    #39345620
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизировать справочник в коде и справочник в БД
just_vladimirНу в самом тупом случае, мне нужно с каждой записью (строчке в таблице, элементе в графе, да где угодно) сопоставить некоторую иконку, которая определяется типом элемента, типы элемента это записи в таблице справочнике, какие будут предложения на этот счет?
запись_в_таблице.svg
...
Рейтинг: 0 / 0
11.11.2016, 14:21
    #39345629
just_vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизировать справочник в коде и справочник в БД
Blazkowiczjust_vladimirНу в самом тупом случае, мне нужно с каждой записью (строчке в таблице, элементе в графе, да где угодно) сопоставить некоторую иконку, которая определяется типом элемента, типы элемента это записи в таблице справочнике, какие будут предложения на этот счет?
запись_в_таблице.svg
Ну так себе решение, а если для одного типа мне нужен один перечень пунктов контекстного меню, а для другого типа другой перечень пунктов контекстного меню?
...
Рейтинг: 0 / 0
11.11.2016, 14:25
    #39345631
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизировать справочник в коде и справочник в БД
just_vladimirНу так себе решение, а если для одного типа мне нужен один перечень пунктов контекстного меню, а для другого типа другой перечень пунктов контекстного меню?
Это БЛ, а не справочник.
...
Рейтинг: 0 / 0
11.11.2016, 14:51
    #39345664
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизировать справочник в коде и справочник в БД
just_vladimirНу так себе решение, а если для одного типа мне нужен один перечень пунктов контекстного меню, а для другого типа другой перечень пунктов контекстного меню?
По-хорошему вы заводите класс, на каждую запись в базе. Внутри класса есть ключ, который однозначно ассоциируется с записью в БД. Ключ, очевидно, нужно использовать натуральный, а не синтетический. Во время запуска находите все такие классы и складываете в Map.
Для тех кто использует if/else и switch с такими словарями и нужна железная линейка. Для каждой новой записи в БД, вам придется искать все такие условия по коду и добавлять в них блоки. Вместо того чтобы написать 1 новый класс с логикой нового элемента.
...
Рейтинг: 0 / 0
11.11.2016, 15:08
    #39345690
just_vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизировать справочник в коде и справочник в БД
BlazkowiczВнутри класса есть ключ, который однозначно ассоциируется с записью в БД. Ключ, очевидно, нужно использовать натуральный, а не синтетический. Во время запуска находите все такие классы и складываете в Map.
Ну вот мы и пришли к тому, с чего начали, у нас есть ключ внутри класса и есть запись в БД, за синхронность которых я и переживаю.
Про то, что он в идеале должен быть натуральным это согласен, тогда вероятность проблемы становится гораздо ниже, но, к сожалению, не всегда так получается сделать.
...
Рейтинг: 0 / 0
11.11.2016, 15:15
    #39345699
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизировать справочник в коде и справочник в БД
just_vladimirПро то, что он в идеале должен быть натуральным это согласен, тогда вероятность проблемы становится гораздо ниже, но, к сожалению, не всегда так получается сделать.
А что там переживать? При инициализации, собрали Map, сравнили с БД и дальше по вашей бизнес-логие: fault, warning или email админу.
...
Рейтинг: 0 / 0
11.11.2016, 15:21
    #39345708
just_vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизировать справочник в коде и справочник в БД
BlazkowiczА что там переживать? При инициализации, собрали Map, сравнили с БД и дальше по вашей бизнес-логие: fault, warning или email админу.
ок, спасибо, вариант понял, валидация на старте приложения.
...
Рейтинг: 0 / 0
11.11.2016, 15:26
    #39345719
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизировать справочник в коде и справочник в БД
just_vladimirза синхронность которых я и переживаю.
Как сказать. Стандартная работа программиста.
Например, когда я ввожу новый тип в БД под кодом 12345 и в VIEW прописал иконку delete.gif на этот тип,
то понятно, что если я забуду закинуть на веб сервер иконку, то ошибок и райзе не будет.
Такой уж у нас JS.
Поэтому я просто помню и должен это прописать и проверить\протестировать.
Потом отдел тестирования.
...
Автомат тут не поможет.
...
Рейтинг: 0 / 0
11.11.2016, 16:40
    #39345798
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизировать справочник в коде и справочник в БД
just_vladimirок, спасибо, вариант понял, валидация на старте приложения.
Ну, тут важно понимать откуда наполняется справочник и где он первичен, а где вторичен. Например, если БД его особо не использует, вы можете наполнять справочник из кода при той же инициализации. И тогда в коде можно иметь полноценный Enum.
Но не зная требований сложно сказать какое решение подходит именно в вашей ситуации.
...
Рейтинг: 0 / 0
11.11.2016, 22:56
    #39345970
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизировать справочник в коде и справочник в БД
just_vladimirИспользуете какие-либо механизмы валидации/автоматической синхронизации, что справочник в коде совпадает со справочником в БД?
Мы использовали самописный maven-плагин который обновлял Java-код модуля на основании данных
из БД. Сорцов дать не могу (сорян) но решение не эксклюзивное. Думаю таких много. Погуглите.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Синхронизировать справочник в коде и справочник в БД / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]