2017-12-31 240 views
0

デフォルトでjhipsterのエンティティの最終変更日と作成日を設定しようとしています。私はMySQLデータベースを使用しています。エンティティのデフォルトでjhipsterを使用してエンティティの作成日と変更日を設定します

私のJavaコード:

@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応答を確認します。クロームのdevのツールやcURLのようなプログラムの開発...

および作成タイムスタンプのためのヒントを使用して:

あなたは、例えば、JPAの監査のものを見ている可能性があり https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#auditing @CreatedDate@LastModifiedDateのような2つの注釈があります。これらの注釈は、自動的に監査日を設定するために使用できます。

既に言及したように:Instantの代わりにLocalDateまたはZonedDateTimeを使用する必要があります。

関連する問題