ehcache search API - в случае объединения двух таблиц

я пытаюсь создать новую конфигурацию кеша с новыми таблицами БД. Ниже приведены образцы структуры таблицы и образцы данных.

ТАБЛИЦА_ОТДЕЛЕНИЕ:

Dept Id      Detp Name     Dept Dtls
111          SALES         A1
112          MARKET        A2

ТАБЛИЦА_EMP:

Emp Id     Emp Name    DeptId    Working Started   Working ended
1          ABEmp       111       01-01-2017        02-02-2017
2          CDEmp       112       01-01-2017        03-12-2017
3          EFEmp       113       01-01-2017        03-12-2017
1          ABEmp       115       03-02-2017        03-12-2017

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

если я хочу выполнить поиск по идентификатору отдела в конфигурации ehcache, я могу просто указать атрибут поиска «идентификатор отдела». но, если я хочу выполнить поиск по emp id, я должен получить список отделов, в которых работал сотрудник.

каким должен быть мой дизайн ehcache?

мой Java bean/POJO выглядит следующим образом.

Class DeptDtls{

    int deptId;
    String deptName;
    List<Integer> empIdList;

    //Setter & getters
}

кеш - я хочу поместить ключ как deptId, а значение - это весь DeptDtls.

в этом случае, как я могу разрешить операцию поиска на основе empId?


person pradeep cs    schedule 10.02.2018    source источник


Ответы (1)


Ehcache может обеспечить только хранение данных в памяти, но в вашем случае поиск также требуется в верхнем кеше. Я получил тот же сценарий и использовал elasticsearch для кэширования данных и поиска по сохраненным данным. эластичный поиск имеет встроенную поддержку поиска, и мы можем индексировать сохраненные данные .elasticsearch можно настроить для кеша.

person user2622213    schedule 10.02.2018
comment
ок... интересно. Я не в курсе. так что ehcache невозможен? - person pradeep cs; 10.02.2018
comment
если мы хотим использовать эластичный поиск - нужно ли нам поддерживать две разные конфигурации кеша и выполнять поиск поверх этого. ? - person pradeep cs; 10.02.2018