繁体   English   中英

Springboot Hibernate 从 SQL 服务器上的现有表中读取数据

[英]Springboot Hibernate read data from existing table on SQL Server

我在 SQL 服务器中有一个现有的表。

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();
    
}

这是 controller

@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!";
    }
    
}

当我运行http://localhost:8080/getAllStudents

我得到Invalid column name 'fisrtname'.

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

有任何想法吗?

您在 FISRTNAME 中有错字。 它是 FIRSTNAME,更改如下

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM