我想知道是否可以为Spring的CrudRepository
保存方法定义自定义返回类型,如以下示例中的find查询方法所示:
<T> Optional<T> findById(Long id, Class<T> type);
In the documentation我只找到了使用查询方法进行动态投影的示例。
我尝试了
<T> T save(Foo entity, Class<T> type);
但出现以下错误:
java.lang.IllegalArgumentException: Failed to create query for method public abstract java.lang.Object com.xyz.myproject.persistence.dao.FooDAO.save(com.xyz.myproject.persistence.model.Foo,java.lang.Class)! No property save found for type Foo!
有什么想法可以使它正常工作吗?
答案 0 :(得分:0)
我不这么认为,应该是Foo save(Foo entity);
或来自文档
Example 30. Fragments overriding save(…)
interface CustomizedSave<T> {
<S extends T> S save(S entity);
}
class CustomizedSaveImpl<T> implements CustomizedSave<T> {
public <S extends T> S save(S entity) {
// Your custom implementation
}
}