Hibernate 如何在实体对象中使用 Enumerated

在 Hibernate 实体对象定义 Enum 类型。

可以使用下面的代码

    @Column(name = "LISTING_TYPE")
    @Enumerated(EnumType.ORDINAL)
    private ListingType listingType;

上面代码中有一个关键的注解 就是 Enumerated

在这里你可以为你的字段定义 EnumType。

这里其实 有 2 种类型,第一种类型为 ORDINAL,第二种类型为 STRING。

这 2 种类型是分别对应的是整数类型和字符串类型。

同时这 2 种类型是在 包 javax.persistence 中定义的。

对应数据库

对应的数据库,如果你使用的类型为 EnumType.ORDINAL 的话,你对应的数据库字段可以使用为 int。

否则你需要在你的数据库中使用字段为 VARCHAR 或者任何其他类型的字段。

通常我们认为使用整数在数据库中的效率可能更高。

因此在实际定义的时候,使用 EnumType.ORDINAL 的机会更多。