【发布时间】:2020-11-12 21:24:18
【问题描述】:
当我尝试编译 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: com.core.model.Team.members[com.core.model.User] 时出现此错误
我的模型叫做 User ,它用于组合另外两个模型,一个从 keycloak 获取数据,另一个从 Postgres 获取数据。此表不使用@entity,因为它未附加到表。有什么我想念的吗?
这里是代码
@Data
public class User {
@NonNull
private KeycloakUser keycloakUser;
private OtherUser otherUser;
public User(@NonNull KeycloakUser keycloakUser, @NonNull OtherUser otherUser) {
this.keycloakUser = keycloakUser;
this.otherUser = otherUser;
}
}
【问题讨论】:
-
不确定我是否关注。错误非常简单:您是否希望使用 JPA 将
Team.members集合中的com.core.model.Users 持久化到您的数据库中?如果是这样,请使用@Entity注释User。如果没有,请制作Team.members@Transient并删除@OneToManyJPA 抱怨的内容。如果我以某种方式误解了这个问题,请解释一下“不是实体的模型”是什么意思。 -
@crizzis 谢谢,您提出的问题帮助我专注于在哪里找到问题。还没找到,但至少对去哪里有更好的了解
标签: java spring hibernate model