sqlIntegrationTestFixtures.dropTable("ISIS_STRINGBASEENTITYSUBTHREE");
sqlIntegrationTestFixtures.dropTable("ISIS_REFERENCINGPOLYTYPESENTITY");
sqlIntegrationTestFixtures.dropTable("ISIS_STRINGBASEENTITY");
sqlIntegrationTestFixtures.dropTable("ISIS_STRINGABLE");
final ReferencingPolyTypesEntity referencingPolyTypesEntity = factory.newPolyTestClass();
referencingPolyTypesEntity.setString("polyTestClassString");
// Setup self-referencing collection
final SelfReferencingEntity polySelfRefClassParent = factory.newPolySelfRefClass();
polySelfRefClassParent.setString("Parent");
final SelfReferencingEntity polySelfRefClassChild1 = factory.newPolySelfRefClass();
polySelfRefClassChild1.setString(CHILD_1);
polySelfRefClassParent.addToPolySelfRefClasses(polySelfRefClassChild1);
final SelfReferencingEntity polySelfRefClassChild2 = factory.newPolySelfRefClass();
polySelfRefClassChild2.setString("Child 2");
polySelfRefClassParent.addToPolySelfRefClasses(polySelfRefClassChild2);
factory.save(polySelfRefClassChild2);
final SelfReferencingEntity polySelfRefClassChild3 = factory.newPolySelfRefClass();
polySelfRefClassChild3.setString("Child 1 of Child 1");
polySelfRefClassChild1.addToPolySelfRefClasses(polySelfRefClassChild3);
factory.save(polySelfRefClassChild3);
factory.save(polySelfRefClassChild1);
factory.save(polySelfRefClassParent);
referencingPolyTypesEntity.setPolySelfRefClass(polySelfRefClassParent);
// polyTestClass.setPolyTestInterface(polyTestClass);
polyIntImpA = factory.newPolyInterfaceImplA();
polyIntImpA.setString(IMPL_A_STRING);
polyIntImpA.setSpecial("special");
factory.save(polyIntImpA);
referencingPolyTypesEntity.setPolyInterfaceType(polyIntImpA);
referencingPolyTypesEntity.getPolyInterfaces().add(polyIntImpA);
// setup the polyTestClass
final StringBaseEntitySub stringBaseEntitySub = factory.newPolySubClassOne();
stringBaseEntitySub.setStringBase("PolySubClassOne 1");
stringBaseEntitySub.setStringClassOne("Class 1");
final StringBaseEntitySubTwo stringBaseEntitySubTwo = factory.newPolySubClassTwo();
stringBaseEntitySubTwo.setStringBase("PolySubClassTwo 1");
stringBaseEntitySubTwo.setStringClassTwo("Class 2");
final StringBaseEntitySubThree stringBaseEntitySubThree = factory.newPolySubClassThree();
stringBaseEntitySubThree.setStringBase("PolySubClassThree 1");
stringBaseEntitySubThree.setStringClassThree("Another String");
stringBaseEntitySubThree.setStringClassTwo("Class 3");
referencingPolyTypesEntity.getPolyBaseClasses().add(stringBaseEntitySub);
referencingPolyTypesEntity.getPolyBaseClasses().add(stringBaseEntitySubTwo);
referencingPolyTypesEntity.getPolyBaseClasses().add(stringBaseEntitySubThree);
factory.save(stringBaseEntitySub);
factory.save(stringBaseEntitySubTwo);
factory.save(stringBaseEntitySubThree);