我正在从CSV文件中读取日期值,值为'21 / 08/2009'。 Bindy在解析这些数据时给出了一个错误,如下所示:
org.apache.camel.dataformat.bindy.format.FormatException:提供的日期不符合定义的模式。
我写了以下代码。
package com.project1.projectdomain;
import java.lang.String;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.apache.camel.dataformat.bindy.annotation.CsvRecord;
import org.apache.camel.dataformat.bindy.annotation.DataField;
import com.project.Identifiable;
@Entity
@CsvRecord(separator = ",")
public class Trade implements Identifiable<String> {
Classname classobject;
@Id
@DataField(pos = 1)
private String id;
@DataField(pos=2)
private String code;
@Temporal(TemporalType.DATE)
@DataField(pos=3)
private Date date1;
@Temporal(TemporalType.DATE)
@DataField(pos=4)
private Date date2;
我使用maven来构建项目,jpa 3.0和apache camel。
答案 0 :(得分:1)
您需要在pattern attribute上设置@DataField,并根据DateFormat指定您使用的日期模式:
@DataField(pos=4, pattern="dd/MM/yyyy")