【发布时间】:2012-01-03 08:45:51
【问题描述】:
我的模型包含一个枚举,它由 JPA 映射到我的 mysql 数据库上的 int 列。
mysql有一个原生的enum类型,使用起来会更方便。
如何配置 JPA 以使用此类型?
@Entity
public class User extends Model {
public enum Role {
User,
Moderator,
Admin,
}
public Role role;
}
【问题讨论】:
-
重复:stackoverflow.com/questions/2160700/… 简而言之:不要使用 MYSQL 枚举!有更好的模式,使用 ORDINAL 是为了紧凑,使用 STRING 是为了可读性。您可以为数据库创建一个带有短字符串的枚举,为您的代码创建一个较长的枚举。
-
@Stefano - 由于 Play Framework 的上下文,并不是真正的重复。但无论如何,我真的不知道 enum 是否是专有的 mysql。我不想仅仅为了支持专有的 mysql 行为而更改我的代码,所以我可能会坚持使用 Play 默认值。
-
看起来我正在阅读你所有的剧本!现在的问题:D;我会说在这种情况下,您是否通过 Play 没有任何区别!与否,因为玩!只是扩展了 JPA/Hibernate,所以每个问题都会有 Play 的问题!也!
-
@Stefano - 我倾向于问很多问题(这就是我获得 Stack Overflow 代表的大部分内容的方式)。我接受了答案,但不确定它是否是 exact 重复,因为我想要的上下文(即使他们原来有相同的答案)。
标签: java hibernate jpa playframework