[英]How to create table of Java enum using Eclipselink?
我想要一个Java枚举类,该类由可以在数据库表中找到的值定义。
这可能吗?? 怎么样?
我尝试采用另一种方式:我想知道是否可以让Eclipselink为Java中使用的枚举创建数据库表? 假设我有一个名为Status的枚举,其值是:AVAILABLE和OUT_OF_ORDER。 我如何让JPA创建相关的数据库表(应该是某种查找表,以确保该表中仅包含可以用于任何其他表的列的值)?
另一个示例是具有类(或表)Record的记录库,该记录具有属性(列)“ recordType”。
public enum RecordType {
NONE,
LP,
SINGLE
}
如何告诉JPA / Eclipselink创建一个名为recordType的表? 使用JPA工具->使持久化最终会导致persistence.xml错误: 列出的类RecordType不能为enum 。
通常,您不会使用可能的枚举值创建表(您已经在客户端获得了它们!)
您将改为将枚举的值存储在列中。 JPA允许您存储枚举值0,1,2 ...(强烈建议)或字符串值(AVAILABLE,...更好!)
@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;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.