我有一個奇怪的問題JPA映射失敗轉換爲時間戳,但它使用的值似乎是整個行,而不僅僅是一個變量。JPA映射失敗的奇怪消息
的錯誤是:
java.sql.SQLException: Value '1988├╗ ├╗├╗├╗├╗├╗├╗0
07 1234567 wk├╗0├╗├╗├╗├╗├╗ ' can not be represented as java.sql.Timestamp
其中值似乎是整行,大部分壞字符是空的。調試日誌記錄目前沒有給我太多,我不確定它是否是我的映射類錯誤,整理問題或其他。
MySQL工作臺正確讀取表中的所有信息。從命令運行mysql會正確輸出所有數據。任何地方都不能顯示任何特殊字符。
我的映射類的簡化版本是:
@Entity
@Audited
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
public class PersonSundry {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@NotNull
@OneToOne(fetch=FetchType.LAZY)
@JoinColumn(name="person_id", unique=true)
private Person person;
@ManyToOne(fetch=FetchType.EAGER)
private Lookup1 lookup1;
@ManyToOne(fetch=FetchType.EAGER)
private Lookup2 lookup2;
@Lob
private String backgroundInfo;
private LocalDate dateOfSomething1;
private LocalDate dateOfSomething2;
private LocalDate dateOfSomething3;
// getters and setters
}
有沒有人遇到過嗎?任何想法在哪裏看?
編輯:根本原因竟然是00-00-0000到時間戳的通用失敗演員,但是我打算留下問題打開,看看是否有人知道給出奇怪的錯誤消息的地方確切的一個。
用戶執行一些操作,並將SQL發送到數據庫。該SQL打印在JPA提供程序日誌中。爲什麼不看它呢? – DN1
您是否爲Hibernate添加了Java 8支持?由於JPA 2.1不支持開箱即用的java 8日期時間API –
您能否顯示代碼如何堅持(如果堅持java)並找到失敗的行?數據庫中LocalDate的數據類型是什麼? – pirho