2016-04-10 7 views
0

У меня есть два отдела таблиц (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, не так ли? Как загрузить его с таблицей «Департамент» и «Сотрудник» как?

ответ