在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)获取对象。