簡體   English   中英

如何使用JPA將多個​​枚舉值保存到數據庫?

[英]How to save multiple enum value to database with JPA?

我有一個Server類,我想將服務器對象的內容保存到數據庫中。 我創建了如下所示的實體,但問題是有不必要的字段。

例如,Linux操作系統記錄也具有WindowsOperatingSystemVersion列。 如何將這多個枚舉值有效地保存到數據庫?

@Entity
@Table(name = "server")
public class Server{

    @Column
    private OperatingSystem os;

    @Column
    private LinuxOperatingSystemVersion losv;

    @Column
    private WindowsOperatingSystemVersion wosv;

}

public enum OperatingSystem{
    LINUX,
    WINDOWS
}

public enum LinuxOperatingSystemVersion{
    UBUNTU,
    SOLARIS
}

public enum WindowsOperatingSystemVersion{
    WINDOWS10,
    XP
}

僅枚舉不是一個好的設計。 這將是一種替代設計,但我不知道確切的要求。

@Entity
public class Server {

    @OneToMany
    OperatingSystem operatingSystem;    
}

@Entity
public class OperatingSystem {
    @Enumerated(EnumType.STRING)
    OperatingSystemEnum operatingSystemEnum;

    @Enumerated(EnumType.STRING)
    OperatingSystemVersion operatingSystemVersion;
}

public enum OperatingSystemEnum {
    LINUX,
    WINDOWS
}

public enum OperatingSystemVersion {
    UBUNTU,
    SOLARIS,
    WINDOWS10,
    XP
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM