2016-04-12 14 views
0

JUnitテストを行うときに、データベースに値を挿入する必要があります。これを行うために、さまざまなテストのためのさまざまな挿入を含むファイル(import.sql)があります。それは完璧な日付のために働く。 MySQLが日付としてそれらをインポートできるように、どのように日付をフォーマットする必要がありますか?MySQLに日付を挿入する

import.sqlこの場合2015-08-18 21:00:00.000

INSERT INTO TEST (START, END) VALUES ('2015-07-20 22:00:00.000', '2015-07-20 23:30:00.000') 
INSERT INTO TEST (START, END) VALUES ('2015-08-18 21:00:00.000', '2015-08-18 22:30:00.000') 

からJavaエンティティ

import java.util.Date; 

@Entity 
@Table(name = "TEST") 
public class Test { 

    @Column(name = "START") 
    @Temporal(TemporalType.DATE) 
    private Date startDate; 

    @Column(name = "END" 
    @Temporal(TemporalType.DATE) 
    private Date endDate; 

    // getter & setter 
}  

スニペットが、これは動作しません。形式が正しくないことを示すエラーが発生します。

日付がフォーマットされた方法import.sql

<property name="javax.persistence.sql-load-script-source" 
     value="import.sql" /> 

からの読み込み?

+0

「2015-07-20 22:00:00」だけを使用してください。最後の部分から秒の小文字を使用してください。 – Shadow

+0

@ Shadowありがとうございます。出来た。私はそれを受け入れることができるように答えとして投稿したいかもしれません。 – arcs

答えて

1

「2015-07-20 22:00:00」だけを使用してください。何も使用していない場合は、最後から秒の部分を見てください。分数秒のサポートがv5.6.4で追加されたため、以前のバージョンを使用している場合は互換性の問題が発生する可能性があります。

2

入力値2015-08-18 21:00:00.000と一致させるには、フィールドタイプがDATETIME(3),STARTフィールド、フィールドタイプがENDである必要があります。

+0

ありがとうございます。これはうまくいきますが、@ Shadowのソリューションは簡単です – arcs

関連する問題