我遇到了一个问题,我得到了三个对象而不是一个对象本身。(您可以在下面看到我的架构和输出结果)。我需要做的就是返回一个对象映射器列表,它可以将集合转换为数组。在我的控制器中,这是“public @ResponseBody List”的原因,请帮助我让它像我的模式一样打印。感谢您的帮助..!控制器:@RestControllerpublic class AutoCompleteController { private AutoCompleteService autoCompleteService; private EntityManager em; public AutoCompleteController(AutoCompleteService autoCompleteService, EntityManager em){ this.autoCompleteService = autoCompleteService; this.em = em; } @RequestMapping(value = "jobs", method = RequestMethod.GET) public @ResponseBody List<AutoComplete> getSalary(@RequestParam(value = "autocomplete") String autocompleteValue) { return autoCompleteService.retrieveSalary(autocompleteValue); } public void getAllSalaries(HttpServletResponse res) { Stream<AutoComplete> stream = autoCompleteService.retrieveAllSalaries(); DataStreamUtility.streamObjects(stream, res, em); } @RequestMapping(value = "/jobs") public @ResponseBody List < AutoComplete > getSalary(@RequestParam(value = "autocomplete", defaultValue = "1400") String autocompleteValue) { return autoCompleteService.retrieveSalary(autocompleteValue); } public void getAllSalaries(HttpServletResponse res) { Stream < AutoComplete > stream = autoCompleteService.retrieveAllSalaries(); DataStreamUtility.streamObjects(stream, res, em); }}
3 回答
呼啦一阵风
TA贡献1802条经验 获得超6个赞
如果我正确理解了您的意图,这里的问题是您正在检索您只需要一个实体的实体列表。
autocompleteRepository.findByJobClassCdStartsWith(jobClassCd);
简而言之:“神奇的”findByXXX 方法返回一个列表或单个实体;您应该改用 findOneByXXXX 来澄清。
查看此答案以获取更多信息,我认为解释得很好: Difference between findBy and findOneBy in Spring data JPA
慕少森
TA贡献2019条经验 获得超9个赞
在您的一条评论中,您说my rateType it just only prints "annual" ... the other hourly and weekly rate types does not return。您是否有机会创建 3 个具有相同 ID 但不同 rateTypes 的对象?在我看来,您需要将费率分别设为一个数组。
public String[] rateAnnual;
public String[] rateBiweekly;
public String[] Hourly;
添加回答
举报
0/150
提交
取消