2017-12-31 200 views
0

기본적으로 jhipster에서 엔티티가 마지막으로 변경된 날짜와 날짜를 설정하려고합니다. MySQL 데이터베이스를 사용하고 있습니다. 엔티티jhipster를 사용하여 엔티티의 생성 날짜와 변경 날짜를 기본값으로 설정합니다.

내 자바 코드 :

@GeneratedValue(strategy = GenerationType.AUTO) 
    @Column(name = "creation_date", nullable = false, updatable = false) 
    @JsonIgnore 
    private Instant creationDate = Instant.now(); 

    @GeneratedValue(strategy = GenerationType.AUTO) 
    @Column(name = "change_date", nullable = false) 
    @JsonIgnore 
    private Instant changeDate = Instant.now(); 

내 HTML을 구성 요소 :

<td>{{project.creationDate | date:'YYYY-MM-DD'}}</td> 
<td>{{project.changeDate | date:'YYYY-MM-DD'}}</td> 

의 MySQL의 데이터 유형이 "날짜"입니다. MySQL 테이블의 필드는 정상적으로 작동합니다. 그러나 프론트 엔드 (Angular)에는 날짜가 표시되지 않습니다. 대신 날짜에 대한 빈 필드가 있습니다. 이미 여러 가지 형식과 데이터 형식 (LocalDate, Date)을 시도했습니다.

누군가이 문제에 대한 가능한 해결책을 알고 있습니까?

+0

날짜 전용 값을 원하면'Instant.now()'가 아닌'LocalDate.now (ZoneId)'를 사용해야합니다. –

답변

0

문제는 다음과 같습니다. 해당 입력란에 @JsonIgnore 특수 효과가 있습니다. 이 주석은 필드가 JSON으로 직렬화되지 않도록합니다. 따라서 프런트 엔드의 REST 결과에는 날짜가 누락되어 있습니다.

프런트 엔드에 전체 JSON-Object를 표시하거나 서버에서 보낸 HTTP 응답을 조사 할 수 있습니다.

당신은 JPA 감사 물건에서, 예를 들어 살펴 수 : 크롬 개발 도구 또는 컬 같은 programm에 ...

그리고 창조 타임 스탬프에 대한 힌트와 함께 여기에는 https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#auditing @CreatedDate@LastModifiedDate과 같은 두 가지 주석이 있으며 이러한 주석을 사용하여 자동으로 감사 날짜를 설정할 수 있습니다.

앞서 언급 한 것처럼 Instant 대신 LocalDate 또는 ZonedDateTime을 사용해야합니다.