У меня есть две таблицы: отдел (dept_id и отдел) и сотрудник (emp_id, отдел_ид, имя, фамилия) в базе данных, которую я хочу загрузить в кеш. Я использовал инструмент импорта схемы, и он сгенерировал файлы CacheConfig.java, DepartmentKey.java, Department.java, Employee.java и EmployeeKey.java. Теперь Как мне загрузить кеш с обеими этими таблицами?
Вот фрагмент:
private static class MySQLDemoStoreFactory<K, V> extends CacheJdbcPojoStoreFactory<K, V> {
//{@inheritDoc}
@Override public CacheJdbcPojoStore<K, V> create() {
MysqlDataSource dataSource = new MysqlDataSource();
dataSource.setURL("jdbc:mysql://localhost/DB");
dataSource.setUser("root");
dataSource.setPassword("pass");
setDataSource(dataSource);
return super.create();
}
}
затем в основном, чтобы загрузить кеш:
try (Ignite ignite = Ignition.start("examples/config/example-ignite.xml")) {
// Configure cache store.
CacheConfiguration<EmployeeKey, Employee> cfg =
CacheConfig.cache("EmpCache", new MySQLDemoStoreFactory<EmployeeKey, Employee>());
try (IgniteCache<EmployeeKey, Employee> cache = ignite.getOrCreateCache(cfg)) {
// Preload cache from database.
preload(cache);
Это просто загрузит его с таблицей сотрудников, верно? Как мне загрузить его с таблицей «Отдел» и «Сотрудник»?