Java Springboot Hibernate从SQL Server上的现有表读取数据

Java Springboot Hibernate从SQL Server上的现有表读取数据,java,sql-server,spring-boot,repository,Java,Sql Server,Spring Boot,Repository,我在SQL Server中有一个现有表 CREATE TABLE [dbo].[STUDENTS]( [ID] [int] NOT NULL, [FIRSTNAME] [varchar](50) NOT NULL, [LASTNAME] [varchar](50) NOT NULL, [EMAIL] [varchar](100) NOT NULL, [AGE] [int] NOT NULL, [ADDRESS] [varchar](3000) NO

我在SQL Server中有一个现有表

CREATE TABLE [dbo].[STUDENTS](
    [ID] [int] NOT NULL,
    [FIRSTNAME] [varchar](50) NOT NULL,
    [LASTNAME] [varchar](50) NOT NULL,
    [EMAIL] [varchar](100) NOT NULL,
    [AGE] [int] NOT NULL,
    [ADDRESS] [varchar](3000) NOT NULL,
    PRIMARY KEY (ID)
);
我用JAVA创建了这个实体,使我能够使用Hibernate提取数据

package com.My_task_be.spring.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "STUDENTS")
public class Student {

    @Id
    @Column(name = "ID")
    public int id;
    @Column(name = "FISRTNAME")
    public String firstName;
    @Column(name = "LASTNAME")
    public String lastName;
    @Column(name = "EMAIL")
    public String email;
    @Column(name = "AGE")
    public int Age;
    @Column(name = "ADDRESS")
    public String Address;
    
    
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getFirstName() {
        return firstName;
    }
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
    public String getLastName() {
        return lastName;
    }
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public int getAge() {
        return Age;
    }
    public void setAge(int age) {
        Age = age;
    }
    public String getAddress() {
        return Address;
    }
    public void setAddress(String address) {
        Address = address;
    }
    
    
}
这是存储库

@Repository
public interface StudentRepository extends CrudRepository<Student, Integer>{
    List<Student> findAll();
    
}
@存储库
公共界面StudentRepository扩展了crudepository{
列出findAll();
}
这是控制器

@RestController
public class AppController {

    @Autowired
    private StudentRepository studentRpository;
    
    @GetMapping("/getAllStudents")
    public List<Student> getAllStudents(){
        return studentRpository.findAll();
    }
    
    @GetMapping("/helloWorld")
    public String helloWorld(){
        return "Hello World!";
    }
    
}
@RestController
公共类AppController{
@自动连线
私人学生职位学生职位;
@GetMapping(“/getAllStudents”)
公共列表getAllStudents(){
return studentRpository.findAll();
}
@GetMapping(“/helloWorld”)
公共字符串helloWorld(){
返回“你好,世界!”;
}
}
当我运行
http://localhost:8080/getAllStudents

我得到
无效的列名“FirstName”。

我不希望hibernate创建新表,我只希望它从现有表中读取。 我已经指定了列名,但仍然不起作用


有什么想法吗?

你的FirstName输入错误。这是名字,更改如下

@Column(name = "FIRSTNAME")
public String firstName;

打字错误:
firstname
应该是
firstname
哦,我的错!!!!非常感谢。啊,我的坏!!我已经写了10个小时了我的眼睛都坏了哈哈哈