相关疑难解决方法(0)

MySQL Enum的性能优势?

在字段中只有5-10个不同的可能值的情况下使用枚举是否有性能优势?如果没有什么优势?

mysql enums

50
推荐指数
3
解决办法
2万
查看次数

Enum in Hibernate,坚持作为枚举

在我的MySQL数据库中,有"性别枚举('男性','女性')"

我创建了我的枚举"com.mydomain.myapp.enums.Gender",在我的Person实体中我定义了"性别性别".

现在我想在我的MySQL数据库中保留枚举类型,但是当我启动我的应用程序时,我得到:

MyApp.Person中的列类型为Sex的列错误.找到:枚举,预期:整数

为什么是这样?这就好像我用"@Enumerated(EnumType.ORDINAL)"注释了我的"性别性别",我没有.EnumType似乎只能是ORDINAL或STRING,那么如何指定它应该将字段视为枚举,而不是int?(并不是说有太大的不同,但足以让它对此感到不安.)

java mysql orm enums hibernate

39
推荐指数
4
解决办法
7万
查看次数

JPA枚举类型映射.最好的方法

像往常一样,Java枚举类型具有相应的代码和名称描述.包含此类字段的Java类将它们包含为Enum:

public enum MyEnum{
    SOMEINSTANCE(1, "test1"),
    SOMEINSTANCE(2, "test2");

    private final int code;
    private final String name;
    private MyEnum(int code, String name){
        this.code = code;
        this.name = name;
    }
    ... helper getter for code and name
}

@Entity
puclic class EnumHolder{
    private MyEnum myEnum;
}
Run Code Online (Sandbox Code Playgroud)

我是JPA的新手,但我希望有' myEnums'表,看起来像:

code int not null, name varchar(50) not null)
Run Code Online (Sandbox Code Playgroud)

在我的enumHolder表中,我希望有一个myEnumCode指向myEnums表的字段.

使用currenlty支持EnumType.ORDINAL和EnumType.STRING我认为不是一个好主意.

另一个问题.如何myEnums使用Java MyEnum类数据填写表格?你会怎么做?请最好的方法.

PS:这是我能提供的解决方案:

让我们假设有表myEnumcode和名称fields.Java MyEnum枚举,在问题中描述.enumHolder表需要myEnumCode引用 …

java enums jpa hibernate-mapping

33
推荐指数
2
解决办法
6万
查看次数

标签 统计

enums ×3

java ×2

mysql ×2

hibernate ×1

hibernate-mapping ×1

jpa ×1

orm ×1