Date 속성이있는 간단한 엔티티 클래스가 있습니다. 이 속성은 MySQL datetime 열에 해당합니다.데이터베이스의 지속 날짜가 검색된 날짜와 같지 않음
java.util.Date now = new java.util.Date();
Entity entity = new Entity();
entity.setStartDate(now);
entityService.save(entity); // save entity to database
entity = entityService.get(entity.getId()); // get entity back from database
Assert.assertEquals(entity.getStartDate(), now);
내가 그 두 날짜가 같은 것으로 기대하지만, 그렇지 않은 :
@Entity
public class Entity {
@Column(name = "start_date")
@Temporal(TemporalType.TIMESTAMP)
private java.util.Date startDate;
}
이 제품은 통합 테스트는 내가 좋아하는 외모를 쓴 것입니다! 실제로, 나는 가지고있다 :
now.getTime() = 1350160029831
entity.getStartDate().getTime() = 1350160029000
그래서 2 개의 날짜 사이에는 작은 간격이있다. 나는이 격차가 어디서 올 수 있었는지 정말로 궁금해합니다. 항상 같은 것은 아니며 테스트 프로세스를 시작할 때마다 다릅니다. 내 데이터베이스에 저장된 날짜는 2012-10-13 22 : 15 : 38.0입니다.
어딘가에 밀리 초를 정리해야합니까? MySQL documentation 가입일
그래서 내가 밀리 초 부분을 제거 검정 고시한다을 이런 식으로 : Calendar calendar = Calendar.getInstance(); calendar.setTime (date); calendar.set (Calendar.MILLISECOND, 0); – Tunaki