Ich habe zwei Tabellen Abteilung (dept_id und dept) und Mitarbeiter (emp_id, dept_id, Vorname, Nachname) in einer Datenbank, die ich in den Cache laden möchte. Ich habe das Schema-Import-Tool verwendet und dabei die Dateien CacheConfig.java, DepartmentKey.java, Department.java, Employee.java und EmployeeKey.java generiert. Now Nun, wie lade ich den Cache mit diesen beiden Tabellen?So laden Sie 2 Datenbanktabellen in den gleichen Gridgain-Cache
Hier ist der Code-Schnipsel:
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();
}
}
dann in Haupt, um den Cache zu laden:
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);
Dies wird es nur mit der Employee-Tabelle geladen werden, nicht wahr? Wie lade ich es mit der Abteilung und der Employee Tabelle beide?