在Spring Data項目中,CrudRepository爲正在管理的實體類提供了複雜的CRUD功能。這是什麼意思<S extends T> save(S entity);在Spring Repository中?
public interface CrudRepository<T, ID extends Serializable>
extends Repository<T, ID> {
<S extends T> S save(S entity);
T findOne(ID primaryKey);
Iterable<T> findAll();
Long count();
void delete(T entity);
boolean exists(ID primaryKey);
// … more functionality omitted.
}
一般情況下,我知道什麼是「S伸展T」的手段,即是S,保存操作的返回類型,必須是T的子類型爲什麼需要添加諸如約束?我認爲這將是罰款做這樣的事情:
T save (T entity);
正如
void delete(T entity);
我GOOGLE找到更多的幫助,我已經想通了以下的計算器本身的問題,但它不是」噸我真的很明確:
Spring CrudRepository: why to invent a new generic type S
謝謝。
我認爲你是對的。 'S'是多餘的,簽名設計是一個錯誤。 – ZhongYu