Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 我遇到一个异常:无法确定com.english.learn.entity.Forms的类型。为什么?_Hibernate_Jpa - Fatal编程技术网

Hibernate 我遇到一个异常:无法确定com.english.learn.entity.Forms的类型。为什么?

Hibernate 我遇到一个异常:无法确定com.english.learn.entity.Forms的类型。为什么?,hibernate,jpa,Hibernate,Jpa,我在执行程序时遇到异常: Caused by: org.hibernate.MappingException: Could not determine type for: com.english.learn.entity.Forms, at table: words, for columns: [org.hibernate.mapping.Column(forms)] at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:48

我在执行程序时遇到异常:

Caused by: org.hibernate.MappingException: Could not determine type for: com.english.learn.entity.Forms, at table: words, for columns: [org.hibernate.mapping.Column(forms)]
at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:486) ~[hibernate-core-5.3.10.Final.jar:5.3.10.Final]
at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:453) ~[hibernate-core-5.3.10.Final.jar:5.3.10.Final]
at org.hibernate.mapping.Property.isValid(Property.java:226) ~[hibernate-core-5.3.10.Final.jar:5.3.10.Final]
at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:624) ~[hibernate-core-5.3.10.Final.jar:5.3.10.Final]
at org.hibernate.mapping.RootClass.validate(RootClass.java:267) ~[hibernate-core-5.3.10.Final.jar:5.3.10.Final]
at org.hibernate.boot.internal.MetadataImpl.validate(MetadataImpl.java:347) ~[hibernate-core-5.3.10.Final.jar:5.3.10.Final]
at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:466) ~[hibernate-core-5.3.10.Final.jar:5.3.10.Final]
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:939) ~[hibernate-core-5.3.10.Final.jar:5.3.10.Final]
at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:57) ~[spring-orm-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) ~[spring-orm-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:390) ~[spring-orm-5.1.9.RELEASE.jar:5.1.9.RELEASE]
... 110 common frames omitted
类词:

import lombok.Data;

import javax.persistence.*;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;

@Data
@Entity
@Table(name = "words")
public class Word {
    @Id
    private String infinitive;
    private Forms forms;
    private ArrayList<String> generalTranslate;
    private ArrayList nounsTranslate;
    private ArrayList adjectivesTranslate;
    private ArrayList stativeTranslate;
    private ArrayList pronounsTranslate;
    private ArrayList numeralsTranslate;
    private ArrayList verbsTranslate;
    private ArrayList adverbsTranslate;
    private ArrayList collocationsTranslate;
    private ArrayList sentencesTranslate;
    private ArrayList rootWordsTranslate;

    public Word() {
    }

    public Word(String infinitive, Forms forms, ArrayList<String> generalTranslate) {
        this.infinitive = infinitive;
        this.forms = forms;
        this.generalTranslate = generalTranslate;
    }

    @ManyToMany(fetch = FetchType.LAZY,
            cascade = {
                    CascadeType.PERSIST,
                    CascadeType.MERGE
            })
    @JoinTable(name = "word_users",
            joinColumns = {@JoinColumn(name = "user_id")},
            inverseJoinColumns = {@JoinColumn(name = "word_id")})
    private Set<User> users = new HashSet<User>();
}

如何解决这个问题?

我将这个注释添加到了类表单中:

@OneToOne(cascade = CascadeType.ALL)
@PrimaryKeyJoinColumn
private Forms forms;
并编辑了这样的课堂表格:

@Getter
@Setter
@Entity
@Table(name = "forms")
public class Forms {

    @Id
    private String firstSecondSimple;

就像Word类是一个实体一样,表单也需要是一个实体。请将@Entity注释添加到Forms类。我添加了此注释,但对我没有帮助。
@Getter
@Setter
@Entity
@Table(name = "forms")
public class Forms {

    @Id
    private String firstSecondSimple;