Search code examples
javaenumshibernate3

Enum type Hibernate 3


I am getting started with Hibernate, and I am getting the following error for an entity which is supposed to have an enum type.

java.lang.IllegalArgumentException: No enum const class app.entity.ObjType.
java.lang.Enum.valueOf(Enum.java:214)
    org.hibernate.type.EnumType.nullSafeGet(EnumType.java:125)
    org.hibernate.type.CustomType.nullSafeGet(CustomType.java:109)
    org.hibernate.type.AbstractType.hydrate(AbstractType.java:104)
    org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2283)

I have the following enum type defined:

package app.entity;

@Entity
class Example {
    @Enumerated(EnumType.STRING)
    private ObjType type;
}

And the defined Enum class is as follows:

package app.entity;

public enum ObjType {
    typeA,
    typeB
}

What am I doing wrong? Also do set and get methods also have to be annotated with "@Enumerated(EnumType.STRING)" ?

I would appreciate any help. Thanks


Solution

  • I think you have an empty value in the database which it is trying to load and it can't find an enum value for the empty value. Note the extra . at the end of the error message

    app.entity.ObjType.
    

    where it has tried to concat "" with the enum class.