em = emf.createEntityManager();
print("Finding " + NUMBER_OF_A + " instances of LongLongStringPKOneMany.");
begin();
for (int i = OFFSET_A; i < OFFSET_A + NUMBER_OF_A; ++i) {
LongLongStringOid oid = new LongLongStringOid(i);
a = em.find(LongLongStringPKOneMany.class, oid);
}
print("Finding " + NUMBER_OF_B + " instances of LongLongStringFKManyOne.");
for (int i = OFFSET_B; i < OFFSET_B + NUMBER_OF_B; ++i) {
LongLongStringOid oid = new LongLongStringOid(i);
LongLongStringFKManyOne b = em.find(LongLongStringFKManyOne.class, oid);
print(b.toString());
}
commit();
em.close();
/** Update every other instance of B to refer to a different A. */
em = emf.createEntityManager();
print("Finding 1 instance of A.");
begin();
LongLongStringOid oid = new LongLongStringOid(OFFSET_A);
a = em.find(LongLongStringPKOneMany.class, oid);
print("Finding 2 instances of B.");
for (int i = OFFSET_B; i < OFFSET_B + NUMBER_OF_B; i += 2) {
oid = new LongLongStringOid(i);
LongLongStringFKManyOne b = em.find(LongLongStringFKManyOne.class, oid);
// update every other one
b.setLongLongStringPKRelationship(a);
print(b.toString());
}
print("After update: " + a0.toString());
commit();
em.close();
em = emf.createEntityManager();
print("Finding " + NUMBER_OF_A + " instances of A.");
begin();
for (int i = OFFSET_A; i < OFFSET_A + NUMBER_OF_A; ++i) {
oid = new LongLongStringOid(i);
a = em.find(LongLongStringPKOneMany.class, oid);
as.add(a);
print(a.toString());
}
print("Finding " + NUMBER_OF_B + " instances of B.");
for (int i = OFFSET_B; i < OFFSET_B + NUMBER_OF_B; ++i) {
oid = new LongLongStringOid(i);
LongLongStringFKManyOne b = em.find(LongLongStringFKManyOne.class, oid);
print(b.toString());
if (0 == i%2) {
errorIfNotEqual("Mismatch in relationship longLongStringPKRelationship",
as.get(0), b.getLongLongStringPKOneMany());