繁体   English   中英

JPA Hibernate OneToMany 枚举 - 未映射的 Class 错误

[英]JPA Hibernate OneToMany Enum - Unmapped Class Error

我正在尝试使用 JPA/Hibernate 在我的实体类中存储一组枚举,但是当我实际上有一个枚举时,我不断收到关于“未映射的类”的错误。 我究竟做错了什么?

我得到的错误:(为了便于阅读,格式化为多行)

org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 'entityManagerFactory' defined in class path resource 
 [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: 

Invocation of init method failed; 
nested exception is org.hibernate.AnnotationException: 
Use of @OneToMany or @ManyToMany targeting an unmapped class: path.to.my.MyEnum

宣言

@Entity(name=MyEntity)
@Table(name=myentity)
public class MyEntity {

    ....

    @ElementCollection
    @OneToMany(fetch = FetchType.EAGER, orphanRemoval = true)
    @Enumerated(EnumType.STRING)
    private Set<MyEnum> something;

    ....
}

我的枚举:

public enum MyEnum {

    ONE("one string"),
    TWO("two string"),
    THREE("three string");

    private final String name;

    private MyEnum(String name) {
        this.name = name;
    }


    @Override
    public String toString() {
        return name;
    }
}

您只能对使用@Entity注释的类使用@OneToMany注释。 删除注释,它应该可以工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM