[英]Spring Data JPA findAll() returns empty list from MySQL db
我是 Spring 的新手。我正在尝试从 MYSQL 数据库中获取一些数据。 不幸的是 spring data jpa 返回空列表。 但是 db 中存在一条记录:如何访问该记录?
libraryRepository.java
public interface LibraryRepository extends JpaRepository<Library, String>,LibraryRespositoryCustom{
}
库控制器.java
@RestController
public class LibraryController {
@Autowired
LibraryRepository repository;
@Autowired
LibraryService libraryService;
@GetMapping("/getAllBooks")
public ResponseEntity<List<Library>> getAllBooks(){
return ResponseEntity.ok(repository.findAll());
}
应用程序属性
# Datasource
spring.datasource.url=jdbc:mysql://localhost:3306/APIDevelopSpringBoot?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#com.mysql.jdbc.Driver
spring.jpa.generate-ddl=true
# Jpa/Hibernate :
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect
#spring.jpa.database-platform = org.hibernate.dialect.MySQL5Dialect
spring.jpa.hibernate.ddl-auto = update
spring.test.database.replace=none
#Generate Logs
logging.file.name=log/application.log
#spring.profiles.active=dev
spring.main.allow-circular-references: true
图书馆.java
@Data
@Entity
@Table(name="LibraryDemo")
public class Library {
@Column(name="book_name")
private String book_name;
@Id
@Column(name="id")
private String id;
@Column(name="isbn")
private String isbn;
@Column(name="aisle")
private int aisle;
@Column(name="author")
private String author;
}
select library0_.id as id1_0_, library0_.aisle as aisle2_0_, library0_.author as author3_0_, library0_.book_name as book_nam4_0_, library0_.isbn as isbn5_0_ from library_demo library0_
正如我们在此查询中看到的,它正在查询表 library_demo,但您有一个名为 LibraryDemo 的表。 因此,您必须将名称更改为 library_demo。
您需要将表名设为 library_demo 才能正常工作。 无论您给出什么名称,它都会被 _ 格式替换。
尝试这个
@Entity
@Table(name = "library_demo")
public class Library {...}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.