@Test public void testPersistEntity_complexObject() { System.out.println("\nTestPersistenceManager.testPersistEntity_complexObject()"); System.out.println("----------------------------------------------------------"); ScriptFile roleSF = new ScriptFile(); roleSF.setName("roleSFName1"); roleSF.setPath("roleSFPath1"); assertNull(roleSF.getId()); ScriptFile playBookSF1 = new ScriptFile(); playBookSF1.setName("playBookSFName1"); playBookSF1.setPath("playBookSFPath1"); assertNull(playBookSF1.getId()); ScriptFile playBookSF2 = new ScriptFile(); playBookSF2.setName("playBookSFName2"); playBookSF2.setPath("playBookSFPath2"); assertNull(playBookSF2.getId()); AnsibleModuleDefinition anModDefinition = new AnsibleModuleDefinition(); List<ScriptFile> playBookSFList = new ArrayList<ScriptFile>(); playBookSFList.add(playBookSF1); playBookSFList.add(playBookSF2); Set<ScriptFile> roleSFList = new HashSet<ScriptFile>(); roleSFList.add(roleSF); anModDefinition.setPlayBooks(playBookSFList); anModDefinition.setRoles(roleSFList); assertNull(anModDefinition.getId()); persistenceManager.persistEntity(anModDefinition); List<AnsibleModuleDefinition> entities = persistenceManager.getEntities(AnsibleModuleDefinition.class); assertNotNull(entities); assertEquals(1, entities.size()); AnsibleModuleDefinition retrievedDefinition = entities.get(0); assertNotNull(retrievedDefinition); assertNotNull(retrievedDefinition.getId()); assertEquals(2, retrievedDefinition.getPlayBooks().size()); assertEquals(1, retrievedDefinition.getRoles().size()); }