在 Spring Boot 中从 JPA 查询中获取空值

问题描述 投票:0回答:0

在这个 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";}
    }

}

我以前在许多项目中使用过相同的结构和查询,但这是第一次发生。内置查询和我编写的本机查询的所有查询都给出空值,但数据库中的相同查询显示它已被填充。

我不知道为什么会这样,如果有人有任何想法,请随时分享。

java spring spring-boot jpa spring-data-jpa
© www.soinside.com 2019 - 2024. All rights reserved.