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;