微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Spring CrudRepository findAll() 返回空

如何解决Spring CrudRepository findAll() 返回空

我为此使用了一个服务类,但为了最小的可重现示例而将其删除。当前 findAll() 正在返回一个空数组,当它应该从 h2 返回一个带有 EmployeeEntity json 的数组时。我对 spring 如何将数据处理到 h2 数据库中仍然很模糊,所以我猜这可能是我的问题的根源。

控制器:

@Controller
@RequestMapping("/hello2")
public class EmployeeEntityController {

    @Autowired
    EmployeeEntityRepository repo;

    @ResponseBody
    @GetMapping()
    public Iterable<EmployeeEntity> getHello() {
        return repo.findAll();
    }
}

存储库:

@Repository
public interface EmployeeEntityRepository extends CrudRepository<EmployeeEntity,Long> {
}

实体:

@Entity
@Table(name="TBL_EMPLOYEES")
public class EmployeeEntity {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name="first_name")
    private String firstName;

    @Column(name="last_name")
    private String lastName;

    @Column(name="email",nullable=false,length=200)
    private String email;
    
    //public setters and getters are here,so that should be fine

data.sql:

INSERT INTO
    TBL_EMPLOYEES (first_name,last_name,email)
VALUES
    ('Lokesh','Gupta','howtodoinjava@gmail.com'),('John','Doe','xyz@email.com');

schema.sql:

DROP TABLE IF EXISTS TBL_EMPLOYEES;

CREATE TABLE TBL_EMPLOYEES (
  id INT AUTO_INCREMENT  PRIMARY KEY,first_name VARCHAR(250) NOT NULL,last_name VARCHAR(250) NOT NULL,email VARCHAR(250) DEFAULT NULL
);

解决方法

这是我没有提供项目结构的错,但由于我是 Spring 的新手,我不知道这很重要,也没有人提出来。问题是我的 data.sqlschema.sqlresources 文件夹之外。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。