[未能将类型为';java.lang.String';的属性值转换为所需类型';java.sql.Time';
我尝试向控制器发送表单时出错,出现以下错误: [未能将“java.lang.String”类型的属性值转换为 字段“HeuredBut”上的必需类型“java.sql.Time”“horaire”: 拒绝值[10:00];代码 [typeMismatch.horaire.heureDebut,typeMismatch.heureDebut,typeMismatch.java.sql.Time,typeMismatch] 这是我的实体:[未能将类型为';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
@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”)。解析(文本);