У меня есть два отдела таблиц (dept_id и dept) и сотрудник (emp_id, dept_id, firstname, lastname) в базе данных, которую я хочу загрузить в кеш. Я использовал инструмент импорта схемы, и он сгенерировал файлы CacheConfig.java, DepartmentKey.java, Department.java, Employee.java и EmployeeKey.java. Теперь Теперь, как загрузить кеш с обеих этих таблиц?Как загрузить 2 таблицы базы данных в один и тот же кеш Gridgain
Вот фрагмент кода:
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);
Это будет просто загрузить его с таблицей Employee, не так ли? Как загрузить его с таблицей «Департамент» и «Сотрудник» как?