Mongodb的预测没有按预期工作

时间:2018-06-05 20:05:40

标签: java spring-data-mongodb

通过遵循春季数据中的预测官方教程,mongodb https://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#projections将获得

  

java.lang.IllegalArgumentException:无法找到PersistentEntity   类型com.sun.proxy。$ Proxy109!

用于NamesOnly Projection:

interface NamesOnly {

  String getFirstname();
  String getLastname();
}

@RepositoryRestResource
interface PersonRepository extends Repository<Person, UUID> {

  Collection<NamesOnly> findByLastname(@Param("lastName") String lastname);
}

可以让这个例子起作用吗?

1 个答案:

答案 0 :(得分:1)

您需要定义 @RestController 类并从控制器调用 findByLastname 存储库方法,例如:

@RestController
@RequestMapping("/api")
public class PersonController {

@Autowired
private PersonRepository personRepository;

@GetMapping(path = "/persons/findByLastname")
 public Collection<NamesOnly> findByLastname(@Param("lastName") final String lastName) {
   Collection<NamesOnly> result = personRepository.findByLastname(lastName);
   return result;
 }
}