gpt4 book ai didi

java - 数据初始化在 Spring Boot Hibernate 应用程序中不起作用

转载 作者:行者123 更新时间:2023-12-01 18:16:07 24 4
gpt4 key购买 nike

我正在学习 Spring Boot 并尝试我的第一个示例应用程序,但一直停留在数据初始化上。我能够创建表,但我的 data.sql 文件未执行。以下是我的应用程序文件:

spring.jpa.show-sql=true
spring.h2.console.enabled=true
spring.datasource.initialization-mode=always

类别:

@Entity
@NoArgsConstructor
@Data
@Table(name="category")
public class Category {
@Id
private Long id;

//Travel, Grocery,...
private String name;

}

数据.sql:

insert into category values (1,'Travel')
insert into category values (2,'Auto Loan')
insert into category values (3,'Travel')

Controller :

    package com.example.codeengine.expense.controller;

import java.util.Collection;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.example.codeengine.expense.model.Category;
import com.example.codeengine.expense.repository.CategoryRepository;


@RestController
@RequestMapping("/api")
public class CategoryController {
private CategoryRepository categoryRepository;

public CategoryController(CategoryRepository categoryRepository) {
super();
this.categoryRepository = categoryRepository;
}

@GetMapping("/categories")
Collection<Category> categories(){
System.out.println(categoryRepository.findAll());
return categoryRepository.findAll();
}
}

有人可以帮我吗?

最佳答案

您需要添加 getter-setter 来检索和设置数据。

您可以在 Category 类中手动添加 getter-setter,或者如果您使用 Lombok,则需要在类级别添加注释,如下所示:

@Entity
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@ToString
@Data
@Table(name="category")
public class Category {
@Id
private Long id;

//Travel, Grocery,...
private String name;

}

我为getter-setter、构造函数和toString方法添加了注释

关于java - 数据初始化在 Spring Boot Hibernate 应用程序中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60364596/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com