gpt4 book ai didi

java - 如何使用 Eclipselink 创建 Java 枚举表?

转载 作者:行者123 更新时间:2023-11-30 03:54:28 25 4
gpt4 key购买 nike

我想要一个由可以在数据库表中找到的值定义的 Java 枚举类。

这可能吗?怎么办?

我尝试走另一条路:我想知道是否可以让 Eclipselink 为 Java 中使用的枚举创建数据库表?假设我有一个名为 Status 的枚举,其值为:AVAILABLE 和 OUT_OF_ORDER。如何让JPA创建相关的数据库表(应该是某种查找表,以确保只能包含在该表中的值可以在任何其他表的列中使用)?

另一个示例是具有类(或表)Record 的记录库,该记录具有属性(列)“recordType”。

public enum RecordType {
NONE,
LP,
SINGLE
}

我如何告诉 JPA/Eclipselink 创建一个名为 recordType 的表?使用 JPA 工具 -> 持久化会在 persistence.xml 中出现错误:列出的类 RecordType 不能是枚举

最佳答案

通常,您不会创建包含枚举可能值的表(您已经在客户端获得了它们!)

您将把枚举的值存储在列中。 JPA 允许您存储枚举值 0,1,2...(强烈建议不要)或字符串值(可用,...更好!)

@Table(name = "the_name_of_your_table")
public class YourClass {

@column(name = "the_column_name")
@Enumerated(EnumType.STRING) // <-Tells JPA to store the enum as a String
private Status status;

}

关于java - 如何使用 Eclipselink 创建 Java 枚举表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23609356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com