我找到了一个与此主题相关的论坛。 Using enum as id
但我不确定我能不能做到。我认为我的情况有点不同。
enum Type {
}
class MyEntityId {
String type;
String key;
}
@Entity
@IdClass(MyEntityId.class)
class MyEntity {
@Enumerated(EnumType.String)
@Id
Type type;
@Id
String key;
}
这实际上符合规范吗?
如果是,我可以不用担心供应商的特定行为吗?
最佳答案
为什么不阅读链接的问题?它引用了规范(2.1.4)并说“不”,你不能有枚举类型的 id 字段;你有一些(无效的)IdClass 并不重要(因为 IdClass 的类型必须与类的类型匹配)。因此它不是 JPA 规范的一部分,因此您只能执行特定于供应商的行为。
关于JPA 使用 `Enum` 作为 `@Id` 和 `@IdClass`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9801379/