title: @Temporal annotation does not work when used with @Transactional JUnit tests
body: <p>I have a simple CRUD operations with Spring Boot and Oracle 11g
  My Entity class looks like:</p>
  
  <pre><code>public class Entity{
  @Id
  @GeneratedValue(strategy = GenerationType.AUTO)
  private int entity_id;
  ...
  @CreationTimestamp
  @Column(name = "creation_date", columnDefinition="ON UPDATE CURRENT_TIMESTAMP")
  @Temporal(TemporalType.TIMESTAMP)
  private Date creation_date;
  
  ...//setters and getters
  }
  </code></pre>
  
  <p>My JUnit looks like</p>
  
  <pre><code>@RunWith(SpringRunner.class)
  @SpringBootTest
  @Transactional
  public class EntityTests {
  Logger log = Logger.getAnonymousLogger();
  
  @Autowired
  private EntityRepository  entityRepository;
  
  @Test
  public void addEntity(){
      Entity entity= new Entity();
      entity.setFirst_name("Jhon");
      entity.setLast_name("David");
      Entity savedEntity = entityRepository.save(entity);
      log.info(savedEntity.toString());
      Assert.assertEquals(entity, savedEntity);
      //log.info(savedEntity.getCreation_date().toString());
  }
  </code></pre>
  
  <p>The last log.info throws NullPointerException when run with @Transactional annotation, But works fine otherwise and DB gets populated with expected values.</p>
  
  <p>Is that how @Transactional behaves or Hibernate does not insert any value for Dates in transactional JUnits?</p>