英文:
Spring Data JPA findAll() or findbyId() return wrong value in spring boot
问题
我目前在尝试从SQL Server检索数据时遇到了findAll()方法的问题,以下是我的代码:
Alien(外星人):
@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();
}
}
Repository(仓库):
public interface AlienRepository extends CrudRepository<Alien, String> {
}
我的问题是,每当我尝试检索DB中的所有外星人时,通常会得到以下值:
[com.example.demo.model.Alien@1f012f9c, com.example.demo.model.Alien@553ee2df, com.example.demo.model.Alien@67c572ce]
通常应返回外星人的aid、name和tech的值,但我得到的只是上述内容。
英文:
I'm currently struggling with findAll() method when I try to retrieve data from SQL Server
here are my code:
Alien:
@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();
}
}
Repository
public interface AlienRepository extends CrudRepository<Alien, String>{
}
And my problem is whenever I try to retrieve all the Aliens in my DB I usually got this value
[com.example.demo.model.Alien@1f012f9c, com.example.demo.model.Alien@553ee2df, com.example.demo.model.Alien@67c572ce]
Usually it has to return the value of the Alien like aid , name and tech but all I got is this
答案1
得分: 0
您可以发送数据作为 List<Alien>
并使用 MediaType.APPLICATION_JSON_VALUE
来获取 JSON 响应。
@RequestMapping("/getAliens", produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public List<Alien> getAlien() {
return repo.findAll();
}
或者如果您想将列表作为字符串返回,可以在 Alien
类中定义 toString
方法。
英文:
You can send the data as List<Alien>
and use MediaType.APPLICATION_JSON_VALUE
to get json response
@RequestMapping("/getAliens", produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public List<Alien> getAlien() {
return repo.findAll();
}
Or define toString method in Alien
class if you want to return list as string
答案2
得分: 0
值 com.example.demo.model.Alien@1f012f9c
是 toString()
方法的默认实现返回的。
在你的 Alien 类中添加 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 + '\'' +
'}';
}
}
英文:
Value com.example.demo.model.Alien@1f012f9c
is returned by default implementaion of toString()
method.
Add toString()
you Alien class.
Example:
@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 + '\'' +
'}';
}
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论