assertEquals(1, dao.create(foo1));
assertEquals(1, foo1.id);
assertEquals(0, foo1.version);
CreateOrUpdateStatus status = dao.createOrUpdate(foo1);
assertTrue(status.isUpdated());
assertEquals(1, status.getNumLinesChanged());
assertEquals(1, foo1.version);
status = dao.createOrUpdate(foo1);
assertTrue(status.isUpdated());
assertEquals(1, status.getNumLinesChanged());
assertEquals(2, foo1.version);
VersionField result = dao.queryForId(foo1.id);
// we update this one to a new version number
assertEquals(1, dao.update(result));