Java Spring数据JPA findAll()或findbyId()在Spring引导中返回错误的值
当我试图从SQL Server检索数据时,我正在努力使用findAll()方法 这是我的代码: 外国人:Java Spring数据JPA findAll()或findbyId()在Spring引导中返回错误的值,java,spring-boot,spring-mvc,spring-data-jpa,Java,Spring Boot,Spring Mvc,Spring Data Jpa,当我试图从SQL Server检索数据时,我正在努力使用findAll()方法 这是我的代码: 外国人: @Entity public class Alien { @Id private String aid; private String name; private String tech; AlienController: @Controller public class AlienController { @Autowired AlienReposit
@Entity
public class Alien {
@Id
private String aid;
private String name;
private String tech;
AlienController:
@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>{
}
通常它必须返回外星人的值,比如aid、name和tech,但我得到的只是这个你可以通过
List
发送数据,并使用MediaType.APPLICATION_JSON_value
获得JSON响应
@RequestMapping("/getAliens", produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public List<Alien> getAlien() {
return repo.findAll();
}
@RequestMapping(“/get异形”,products=MediaType.APPLICATION\u JSON\u VALUE)
@应答器
公共列表getAlien(){
返回回购findAll();
}
如果要将列表作为字符串返回,请在
Alien
类中定义toString方法。Alien@1f012f9c在toString()方法的默认实现中返回
添加toString()
您可以创建一个类
例如:
@Entity
public class Alien {
@Id
private String aid;
private String name;
private String tech;
@Override
public String toString() {
return "Alien{" +
"aid='" + aid + '\'' +
", name='" + name + '\'' +
", tech='" + tech + '\'' +
'}';
}
}尝试重写外来类中的toString方法。并将getAlien()方法的返回类型更改为List,除非您不希望返回List类型。它实际上返回Alien的实例,但是,正如Pavan指出的,由于您没有重写toString方法,所以您从Object获得了它重写的实现,这意味着您正在打印引用您使用spring boot或spring mvc吗?
@Entity
public class Alien {
@Id
private String aid;
private String name;
private String tech;
@Override
public String toString() {
return "Alien{" +
"aid='" + aid + '\'' +
", name='" + name + '\'' +
", tech='" + tech + '\'' +
'}';
}