在升級到彈簧引導2-m2(thymeleaf 3)後,對於與JPA關係對應的字段,我收到了失敗的轉換錯誤。Spring Boot 2.0.0M2 Thymeleaf 3無法轉換字段
Failed to convert from type [@javax.persistence.ManyToOne @javax.persistence.JoinColumn com.pps2....entities.FormType] to type [java.lang.String] for value '[email protected]'; nested exception is org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [java.util.Optional<?>] to type [java.lang.String]
JPA實體
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "id_form_type")
private FormType type;
public FormType getType() {
return type;
}
的模板代碼爲:
<select th:field="*{type}" class="col-xs-12">
拋出類似失敗的轉換錯誤。
當然,當直接引用它的工作,但在這種情況下,它打破了項目中的很多模板。並生成name
作爲type.id
而不是type
。
工作實例 <select th:field="*{type.id}" class="col-xs-12">
問題 - 爲什麼他們改變了API?有沒有辦法解決它而不重新檢查所有模板(例如寫入轉換器?)?
爲什麼在除了Spring之外說「Thymeleaf未能轉換」?如果是這樣的話,JPA是如何處理轉換問題的?又名調試,其中的問題是那些3位軟件 –
謝謝我對Spring環境非常新鮮。 – BlackTea