包含枚举列表的 Jpa 存储库

dri*_*oen 1 java spring spring-data-jpa

所以我想实现我的 Reservation 类的 Jpa 存储库。

我的房间类型枚举:

public enum RoomType{
    BREUGHELZAAL("Breughel zaal"),
    CARDIJNZAAL("Cardijn zaal"),
    FEESTZAAL("Feest zaal"),
    KEUKEN("Keuken"),
    RECEPTIEZAAL("Receptie zaal"),
    KLEINEKEUKEN("Kleine keuken");

    private String roomType;

    RoomType(String roomType){
       this.roomType= roomType;
    }

    public String getRoomType(){
        return roomType;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我不知道如何实现这一点。我的预订类中需要一个枚举类型列表,我想它是这样的,但我不知道枚举类型的注释:

@OneToMany(cascade = CascadeType.ALL)
List<RoomType> chosenRooms
Run Code Online (Sandbox Code Playgroud)

先谢谢您的帮助!!

Eug*_*gen 7

您没有足够的 Enum 持久性配置,请尝试:

@ElementCollection(fetch = FetchType.EAGER)
@CollectionTable(name = "RoomType", joinColumns = @JoinColumn(name = "id"))
@Enumerated(EnumType.STRING)
List<RoomType> chosenRooms
Run Code Online (Sandbox Code Playgroud)

@ElementCollection- 定义基本类型或可嵌入类的实例的集合。 @CollectionTable- 指定用于映射基本或可嵌入类型集合的表(name- 集合表的名称,joinColumn- 集合表的外键列)。
Enumerated- 指定持久属性或字段应作为枚举类型持久保存。