在这个 Spring Boot 项目中,我的 JPA 查询一直为空。这是项目:
实体:
@Entity
public class Admin {
@Id
private String login;
@Column
private String Password;
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getPassword() {
return Password;
}
public void setPassword(String password) {
Password = password;
}
资料库:
@Repository
public interface AdminRepository extends JpaRepository<Admin, String> {
@Query(value = "SELECT Password FROM Admin WHERE login = :login ", nativeQuery = true)
String getp(@Param("login") String login);
控制器:
@Controller
public class AdminController {
@Autowired
AdminRepository adminRepo;
@RequestMapping("/")
public String home() {
return "index";
}
@RequestMapping("/adminlogin")
public String adminlogin(Model m) {
m.addAttribute("command", new Admin());
return "adminlogin";
}
@RequestMapping("/alogin")
public String login(@RequestParam String login,@RequestParam String password,Model m){
String p = adminRepo.getp(login);
if(password.equals(p)) {
return "admin";
}
else {
return "afail";}
}
}
我以前在许多项目中使用过相同的结构和查询,但这是第一次发生。内置查询和我编写的本机查询的所有查询都给出空值,但数据库中的相同查询显示它已被填充。
我不知道为什么会这样,如果有人有任何想法,请随时分享。