gpt4 book ai didi

java - 我可以将 Play 配置为使用 mysql 枚举而不是整数吗?

转载 作者:行者123 更新时间:2023-12-01 23:54:54 24 4
gpt4 key购买 nike

我的模型包含一个枚举,它由 JPA 映射到我的 mysql 数据库上的 int 列。

mysql有一个原生的enum类型,使用起来会更方便。

如何配置 JPA 以使用此类型?

@Entity
public class User extends Model {
public enum Role {
User,
Moderator,
Admin,
}

public Role role;
}

最佳答案

没有对枚举 AFAIK 的内置支持,但也许您可以尝试将此作为解决方法(我从未测试过它):

@Entity
public class User extends Model {
public enum Role {
User,
Moderator,
Admin,
}

@Enumerated(EnumType.STRING)
@Column(columnDefinition = "ENUM('User', 'Moderator', 'Admin')")
public Role role;
}

您可以使用EnumType.STRING它将将该值作为字符串存储在数据库中。
但是使用 native ENUM 需要您使用 @Column 定义 columnDefinition注释需要将您的所有角色都编码在那里,您看到了吗?此处重复。

关于java - 我可以将 Play 配置为使用 mysql 枚举而不是整数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8709751/

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