有两个班级:
basepackage.a .Entity1
和
basepackage.a .b.Entity2
Entity1与Entity2有 ENTITY1: ENTITY2: 应用程序上下文启动时出错。 AnnotationException:使用@OneToMany或@ManyToMany定位未映射的类@Entity
Table(name = "Entity1")
public class Entity1 {
// fields here
@ManyToMany
@JoinTable(
name = "Entity1_TO_Entity2",
joinColumns = @JoinColumn(name = "Entity1_ID"),
inverseJoinColumns = @JoinColumn(name = "Entity2_ID")
)
private Set<Entity2> entities2;
@Entity
Table(name = "Entity2")
public class Entity2 {
// fields here
@ManyToMany(mappedBy = "entities2")
private Set<Entity2> entities1;
答案 0 :(得分:0)
错误原因是床配置多个数据源。 下一个配置也在寻找子包
basePackages = {
"basepackage.a"
}
答案 1 :(得分:0)
您的注释看起来很好。以下是要检查的事项:
确保注释为 javax.persistence.Entity ,而不是 org.hibernate.annotations.Entity 。前者使实体可检测。后者只是一个补充。
如果您手动列出实体(在persistence.xml中,在hibernate.cfg.xml中,或在配置会话工厂时),请确保您还列出了Entity1和Entity2。
确保您在不同的包中没有多个Entity1和Entity2类,并且导入了错误的类。