【发布时间】:2023-03-12 14:05:02
【问题描述】:
当我尝试从 SQL Server 检索数据时,我目前正在努力使用 findAll() 方法 这是我的代码:
外星人:
@Entity
public class Alien {
@Id
private String aid;
private String name;
private String tech;
外星人控制器:
@Controller
public class AlienController {
@Autowired
AlienRepository repo;
@RequestMapping("/")
public String home() {
return "home.jsp";
}
@RequestMapping("/getAliens")
@ResponseBody
public String getAlien() {
return repo.findAll().toString();
}
}
存储库
public interface AlienRepository extends CrudRepository<Alien, String>{
}
我的问题是每当我尝试检索数据库中的所有外星人时,我通常都会得到这个值
[com.example.demo.model.Alien@1f012f9c, com.example.demo.model.Alien@553ee2df, com.example.demo.model.Alien@67c572ce]
通常它必须返回外星人的值,如援助、名称和技术,但我得到的只是这个
【问题讨论】:
-
尝试覆盖 Alien 类中的 toString 方法。并将 getAlien() 方法的返回类型更改为 List
,除非您不希望返回 List 类型。 -
它实际上返回 Alien 的实例,但是,正如 Pavan 指出的那样,由于您没有覆盖 toString 方法,因此您从 Object 中获得了它覆盖的实现,这意味着您正在打印参考跨度>
-
你使用的是 spring-boot 还是 spring-mvc ?
标签: java spring-boot spring-mvc spring-data-jpa