@Test
  @Transactional
  public void createEntryWithData() {
    Entry entry1 = new Entry();

    entry1.depth = 5;
    entry1.index = 3;

    Section section = new Section();
    entry1.data = section;
    section.container = entry1;

    section.title = "Section Title";
    section.description = "Section description";

    entryRepository.save(entry1);

    entry1 = entryRepository.findOne(entry1.id);

    Hibernate.initialize(entry1.data);

    assertTrue(entry1.depth == 5);
    assertTrue(entry1.index == 3L);
    assertTrue(entry1.data != null);
    assertTrue(entry1.data.container != null);
    assertTrue("section".equals(entry1.data.type));

    section = (Section) entry1.data;

    assertTrue(section.title != null);
    assertTrue(section.description != null);

    entryRepository.delete(entry1);
  }
  @Test
  @Transactional
  public void createNestedEntries() {
    Entry entry1 = new Entry();
    Entry entry2 = new Entry();

    entry1.children.add(entry2);
    entry2.parent = entry1;

    entryRepository.save(entry1);

    entry1 = entryRepository.findOne(entry1.id);

    Hibernate.initialize(entry1.children);

    assertTrue(entry1.children.size() > 0);

    entryRepository.delete(entry1);
  }