我想用休息服务更新List,但抛出InvalidDataAccessApiUsageException:
Parameter value element [Sharing{uuid=af777b47-3dfc...updated=2016-05-04T10:37:29.000Z}] did not match expected type [java.util.UUID (n/a)]
控制器:
@RequestMapping(value = "/updateChecked", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
public int update(@RequestBody SharingList shares){
return this.sharingService.updateChecked(shares);
}
服务:
public int updateChecked(SharingList shares) {
int updated = sharingDao.setCheckedSharingFor(shares);
return updated;
}
DAO:
@Modifying
@Query("UPDATE Sharing s SET s.checked=1 WHERE uuid in :shares")
int setCheckedSharingFor(@Param("shares") SharingList shares);
SharingList:
public class SharingList extends ArrayList<Sharing> {
}
有什么问题?
答案 0 :(得分:1)
这里有答案
Sharing{uuid=af777b47-3dfc...updated=2016-05-04T10:37:29.000Z}]
did not match expected type [java.util.UUID (n/a)]
Hibernate没有人工智能来理解它应该从uuid
获得Sharing
。
这个查询
@Query("UPDATE Sharing s SET s.checked=1 WHERE uuid in :shares")
您应该提供UUID
作为shares
参数的集合。