* tests the behavior of the same object being viewed from
* different PersistenceManagers with RetainValues set to true
*/
public void testRetainValues() {
// persist the object with field == "x"
RuntimeTest1 test = new RuntimeTest1();
test.setStringField("x");
EntityManager pm = currentEntityManager();
startTx(pm);
pm.persist(test);
endTx(pm);
// find the object in a different PM
EntityManager pm2 = currentEntityManager();
List l = (buildSelectQuery(pm2, "x"));
assertNotNull("l is null in testRetainValues", l);
RuntimeTest1 sameThing = (RuntimeTest1) l.iterator().next();
assertEquals("x", sameThing.getStringField());
assertEquals("x", test.getStringField());
// set the second object field to "y"
startTx(pm2);
sameThing.setStringField("y");
endTx(pm2);
assertEquals("y", sameThing.getStringField());
assertEquals("x", test.getStringField());
// do some searching in the first PM
List l2 = buildSelectQuery(pm, "x");
assertEquals(0,