@Test public void shouldBePersist() { // given final PersonBasic person = new PersonBasic("Mona-Lisa", "DaVinci"); person.setBirthday(birthday()); person.setSalary(BigDecimal.valueOf(45000D)); person.setGender(FEMALE); // when entityManager.getTransaction().begin(); entityManager.persist(person); entityManager.getTransaction().commit(); // then final PersonBasic storedPerson = entityManager.find(PersonBasic.class, person.getId()); assertThat(storedPerson.getFirstname(), is("Mona-Lisa")); assertThat(storedPerson.getLastname(), is("DaVinci")); assertThat(storedPerson.getBirthday(), is(birthday())); assertThat(storedPerson.getSalary(), is(BigDecimal.valueOf(45000D))); assertThat(storedPerson.getState(), is(nullValue())); assertThat(storedPerson.getGender(), is(FEMALE)); }