在2.0以上版本中,CrudRepository接口的findOne(T id)方法已經被移除。
如果在Repository中自己寫findById則會報編譯錯誤,提示與CrudRepository接口中的Optional<T> findById(ID id)方法返回值類型沖突,也就是說如果想用id這個字段來查詢,就只能使用CrudRepository接口的findById方法,並且id只能是主鍵。
點進Optional<T>類,搜索返回值類型為T的方法,發現有get方法和orElse方法可以獲取到我們想要查詢的對象。
如果使用get方法,會提示先用isPresent()方法判空。建議使用orElse(null)獲取對象。