【发布时间】:2018-05-04 09:46:30
【问题描述】:
我试图将 RoomEntity 类作为其通用参数放入列表中,但列表类变为红色(错误),它唯一建议的是将列表类更改为可选类。
public interface RoomRepository extends CrudRepository<RoomEntity, Long> {
List<RoomEntity> findById(Long id);
}
RoomEntity 类
@Entity
@Table(name = "Room")
public class RoomEntity {
}
它们是一样的吗?
List<RoomEntity> findById(Long id);
Optional<RoomEntity> findById(Long id);
【问题讨论】:
-
不,它们不一样。
Optional可以包含零个或单个元素。List可以包含零个、一个或多个元素。请发布确切的错误消息,但我想这是因为id是 PK 并且您不能通过 PK 获得多个元素 -
好吧,在不太了解 SpringBoot 以及“类变红”的情况下,ID 通常是唯一的,它们要么存在,要么不存在,您通常不能拥有多个。所以 Optional 似乎很合适。
标签: java list spring-boot optional