[未能将类型为';java.lang.String';的属性值转换为所需类型';java.sql.Time';

[未能将类型为';java.lang.String';的属性值转换为所需类型';java.sql.Time';,java,spring,thymeleaf,Java,Spring,Thymeleaf,我尝试向控制器发送表单时出错,出现以下错误: [未能将“java.lang.String”类型的属性值转换为 字段“HeuredBut”上的必需类型“java.sql.Time”“horaire”: 拒绝值[10:00];代码 [typeMismatch.horaire.heureDebut,typeMismatch.heureDebut,typeMismatch.java.sql.Time,typeMismatch] 这是我的实体: @Entity(name = "horaire") publ

我尝试向控制器发送表单时出错,出现以下错误:

[未能将“java.lang.String”类型的属性值转换为 字段“HeuredBut”上的必需类型“java.sql.Time”“horaire”: 拒绝值[10:00];代码 [typeMismatch.horaire.heureDebut,typeMismatch.heureDebut,typeMismatch.java.sql.Time,typeMismatch]

这是我的实体:

@Entity(name = "horaire")
public class Horaire {

    @Id @GeneratedValue
    @Column(name = "idhoraire")
    private Integer id;
    @Column(name = "heure_debut")
    private Time heureDebut;
    @Column(name = "heure_fin")
    private Time heureFin;


    public Horaire() {
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Time getHeureDebut() {
        return heureDebut;
    }

    public void setHeureDebut(Time heureDebut) {
        this.heureDebut = heureDebut;
    }

    public Time getHeureFin() {
        return heureFin;
    }

    public void setHeureFin(Time heureFin) {
        this.heureFin = heureFin;
    }

    @Override
    public String toString() {
        return "Horaire{" +
                "id=" + id +
                ", heureDebut=" + heureDebut +
                ", heureFin=" + heureFin +
                '}';
    }
}
这是我在控制器中的方法:

@GetMapping("/save")
public String saveHoraire(@Valid Horaire horaire) {

    horaireRepository.save(horaire);

    return "redirect:listeHoraire";

}
这是我的模板:

<form th:action="@{save}" method="get"  th:object="${horaire}">
    <input type="text"  th:field="*{id}">
    <input type="time"  th:field="*{heureDebut}">
    <input type="time"  th:field="*{heureFin}">
    <input type="submit" value="valider"/>
</form>

在实体类中使用java.util.Date,如下所示,并在数据库中使用datetime

@Column(name = "heure_debut")
@Temporal(TemporalType.TIMESTAMP)
private Date heureDebut;

@Column(name = "heure_fin")
@Temporal(TemporalType.TIMESTAMP)
private Date heureFin;
并使用SimpleDataFormat将字符串转换为日期对象

String text = "25/02/1992";
Date date = new SimpleDateFormat("DD/MM/YYYY").parse(text);

字段“heureFin”上的对象“horaire”中的字段错误:拒绝值[23:00];代码[typeMismatch.horaire.heureFin,typeMismatch.heureFin,typeMismatch.java.util.Date,typeMismatch];参数[org.springframework.context.support.DefaultMessageSourceResolvable:代码[horaire.heureFin,heureFin];参数[];默认消息[heureFin]];默认消息[未能将“java.lang.String”类型的属性值转换为属性“heureFin”所需的类型“java.util.Date”;是否将SimpleDataFormat放入setter?日期日期日期=新SimpleDataFormat(“DD/MM/YYYY”)。解析(文本);