@Test public void testDoubleDbOpen() throws Exception { clearDatabases(); ConnectionSource cs = new JdbcConnectionSource( "jdbc:h2:file:" + DATABASE_DIR + "/" + DATABASE_NAME_PREFIX + ".1"); TableUtils.createTable(cs, Foo.class); Dao<Foo, Integer> dao = Instances.getDaoManager().createDao(cs, Foo.class); Foo foo1 = new Foo(); foo1.val = 12312; assertEquals(1, dao.create(foo1)); Foo result = dao.queryForId(foo1.id); assertNotNull(result); assertEquals(foo1.val, result.val); // ================================== cs = new JdbcConnectionSource( "jdbc:h2:file:" + DATABASE_DIR + "/" + DATABASE_NAME_PREFIX + ".2"); Instances.getDaoManager().clearCache(); TableUtils.createTable(cs, Foo.class); dao = Instances.getDaoManager().createDao(cs, Foo.class); Foo foo2 = new Foo(); foo2.val = 12314; assertEquals(1, dao.create(foo2)); result = dao.queryForId(foo2.id); assertNotNull(result); assertEquals(foo2.val, result.val); }
/** @see Dao#queryForId(Object) */ public T queryForId(ID id) { try { return dao.queryForId(id); } catch (SQLException e) { logMessage(e, "queryForId threw exception on: " + id); throw new RuntimeException(e); } }