2016-04-12 20 views
0

JUnit testleri yaparken, veritabanına değerler eklemeliyim. Bunu yapmak için çeşitli testler için çeşitli ekler içeren bir dosyam (import.sql) var. Tarihler için mükemmel bir beklenti. Tarihleri ​​biçimlendirmek zorunda kalırdım, böylece MySQL bunları tarih olarak alabilir.Tarihler MySQL'e ekleme

import.sql Bu durumda 2015-08-18 21:00:00.000 yılında

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') 

den java varlık

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 
}  

Pasaj, ancak bu çalışmıyor. Biçimin doğru olmadığını belirten bir hatayla sonuçlanır. import.sql

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

den

Yükleme Nasıl tarih biçimlendirilmiş olması oldu?

+0

Sadece '2015-07-20 22:00:00' kullanın, bu yüzden saniyenin kesirlerini sonuna kadar kesin. – Shadow

+0

@Shadow çok teşekkürler. İşe yaradı. Bunu cevap olarak göndermek isteyebilirsiniz, böylece kabul edebilirim. – arcs

cevap

1

Sadece '2015-07-20 22:00:00' tuşlarını kullanın, böylece herhangi bir şekilde kullanmadığınız takdirde saniyeler süresinin sonuna kadar şerit kesin. Kesirli ikinci destek v5.6.4'te eklenmiştir, bu nedenle daha eski sürümleriniz varsa uyumluluk sorunlarınız olabilir.

2

2015-08-18 21:00:00.000 giriş değeriyle eşleştirmek için START alanı ve END alan türü DATETIME(3) olmalıdır.

+0

Teşekkürler. Bu işe yarıyor, ancak çözümü daha kolay olduğu için @Shadow'dan tercih ediyorum. – arcs

İlgili konular