Java 获取所有项的映射方法返回空列表
我正在学习春季开机通过 通过GET方法Java 获取所有项的映射方法返回空列表,java,spring,hibernate,spring-boot,Java,Spring,Hibernate,Spring Boot,我正在学习春季开机通过 通过GET方法/room我应该能够获得嵌入式数据库中所有当前房间的列表。schema.sql和data.sql文件都已就位 我的实体类Room.java: package com.frankmoley.landon.data.entity; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import ja
/room
我应该能够获得嵌入式数据库中所有当前房间的列表。schema.sql
和data.sql
文件都已就位
我的实体类Room.java
:
package com.frankmoley.landon.data.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "ROOM")
public class Room {
@Id
@Column(name = "ROOM_ID")
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@Column(name = "NAME")
private String name;
@Column(name = "ROOM_NUMBER")
private String number;
@Column(name = "BED_INFO")
private String bedInfo;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getBedInfo() {
return bedInfo;
}
public void setBedInfo(String bedInfo) {
this.bedInfo = bedInfo;
}
}
package com.frankmoley.landon.data.repository;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
import com.frankmoley.landon.data.entity.Room;
@Repository
public interface RoomRepository extends CrudRepository<Room, Long> {
Room findByNumber(String number);
}
spring.jpa.hibernate.dll-auto=none
management.endpoints.web.exposure.include=*
存储库类RoomRepository.java
:
package com.frankmoley.landon.data.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "ROOM")
public class Room {
@Id
@Column(name = "ROOM_ID")
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@Column(name = "NAME")
private String name;
@Column(name = "ROOM_NUMBER")
private String number;
@Column(name = "BED_INFO")
private String bedInfo;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getBedInfo() {
return bedInfo;
}
public void setBedInfo(String bedInfo) {
this.bedInfo = bedInfo;
}
}
package com.frankmoley.landon.data.repository;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
import com.frankmoley.landon.data.entity.Room;
@Repository
public interface RoomRepository extends CrudRepository<Room, Long> {
Room findByNumber(String number);
}
spring.jpa.hibernate.dll-auto=none
management.endpoints.web.exposure.include=*
当我运行应用程序时,我在Eclipse中看到关于此映射的消息:
将“{[/rooms],方法=[GET]}”映射到
java.util.List
com.frankmoley.landon.data.webservice.RoomController.findAll(java.lang.String)
但是当我导航到localhost:8080/rooms
时,我得到的只是一个空的JSON对象
应用程序。属性:
package com.frankmoley.landon.data.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "ROOM")
public class Room {
@Id
@Column(name = "ROOM_ID")
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@Column(name = "NAME")
private String name;
@Column(name = "ROOM_NUMBER")
private String number;
@Column(name = "BED_INFO")
private String bedInfo;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getBedInfo() {
return bedInfo;
}
public void setBedInfo(String bedInfo) {
this.bedInfo = bedInfo;
}
}
package com.frankmoley.landon.data.repository;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
import com.frankmoley.landon.data.entity.Room;
@Repository
public interface RoomRepository extends CrudRepository<Room, Long> {
Room findByNumber(String number);
}
spring.jpa.hibernate.dll-auto=none
management.endpoints.web.exposure.include=*
尝试设置ddl自动更新,然后创建或创建拖放
spring.jpa.hibernate.ddl-auto=update
更新更改似乎解决了问题。谢谢。如果可能的话,请修改你的答案,使之切中要害。完成。这是我第一次正确回答stackoverflow)恭喜!继续前进。