рассматривать сущность как пользователя, у нее есть несколько полей. здесь я использую функции обратного вызова jpa для обновления пользовательской информации о последнем обновлении информации. в тестовом классе я хочу написать метод junit, чтобы оценить, работают ли эти методы обратного вызова или нет / не только для тестирования функциональности и покрытия кода. но если я буду следовать приведенному ниже подходу, я получаю одно и то же время каждый раз, может ли кто-нибудь помочь в этом.
@Entity
public class User {
// user setter and getter methods
@preUpdate
public void preUpdateFunction() {
this.lastUpdateDate = new Date();
}
@prePersist
public void prePersistFunction() {
// setting some user properties
preUpdateFunction();
}
}
// пожалуйста, игнорируйте эту конфигурацию и настройку аннотаций, я протестировал мою конфигурацию пружины класса, работающую отлично, нет проблем с пружинной конфигурацией.
@SpringConfiguration
@JpaTransactional
public class TestClass {
@Autowired
UserDao userDao; // userDao implements JPA Repository
// I am worrying about this functionality only
@Test
public void saveUpdateTest() {
User user = userDao.save(new User(constructor arguments));
user = userDao.findOne(user.getId());
user.setName("Hello"); // here updating user object with existing property
User updatedUser = userDao.save(user);
assertEquals(user.getLastUpdateDate().getTime(), updatedUser.getLastUpdateDate().getTime());
// assertion is failing, everytime i am getting same Time for two values. even I added //Thread.sleep(1000) between save and update operations, still i am getting same values.
}
}