Java IncorrectResultSizeDataAccessException,返回多个元素

Java IncorrectResultSizeDataAccessException,返回多个元素,java,spring,hibernate,servlets,spring-data-jpa,Java,Spring,Hibernate,Servlets,Spring Data Jpa,我有一个SpringDataJPA存储库,需要在其中按名称和项目字段获取条目 public interface ItemRepository extends CrudRepository<Item, { public Item findById(String id); public List<Item> findByNameAndItem(String name, String item, P

我有一个SpringDataJPA存储库,需要在其中按名称和项目字段获取条目

public interface ItemRepository extends CrudRepository<Item, 

    {
            public Item findById(String id);
            public List<Item> findByNameAndItem(String name, 
            String item, Pageable pageables);
    }
我这样称呼我:

return itemRepository.findByNameAndItem
            (name,item, new PageRequest(0, 10));
错误:

Servlet[dispatcherServlet]在具有路径的上下文中的Servlet.service() []引发异常[请求处理失败;嵌套异常为 org.springframework.dao.incorrectresultsizedaataaccessexception:结果 返回多个元素;嵌套异常为 javax.persistence.UnuniquereSultException:结果返回的值超过 带有根cau的一个元素]


你看过这个了吗。假设
List
没有唯一索引的承诺,因此JPA不喜欢映射到它。CRUDepository是在AssessedItemLink上定义的,其中as findByNameAndItem返回List。我想这必须是一个列表或一个有效的jpa投影。你可以发布AssessedItemLink和Item类的代码吗?我更新了帖子,是一个复制粘贴错误,Item都结束了。这样应该没问题。但是这里的命名可能有问题:您的实体被命名为
Item
,它还有一个字段
Item
,它是一个字符串。在repo方法
findByNameAndItem
中,驼峰大小写表示您希望按给定字符串
name
项进行筛选。更改属性名称时,是否可以检查它是否保持不变?
return itemRepository.findByNameAndItem
            (name,item, new PageRequest(0, 10));