【发布时间】:2016-01-17 07:09:09
【问题描述】:
我正在尝试创建一个示例报告卡应用程序,并希望在主题和学生成绩之间保留一个映射 这是我的记分卡课:
@Entity
public class ScoreCard {
@NotNull @ElementCollection @ManyToMany(cascade=CascadeType.ALL)
private Map<Subject, String> gradesForMainSubject = new HashMap<Subject, String>();
}
但是当我尝试保存数据时,我总是以
结尾Caused by: org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany targeting an unmapped class: gradesForMainSubject
主题本身是一个托管实体(由@Entity 注释)。关于如何继续前进的任何建议。
【问题讨论】:
-
你必须使用`@MapKeyColumn',查看这个线程http://stackoverflow.com/questions/7525320/how-to-add-a-hashmapstring-object-in-an-entity-class
-
错了,@MapKeyColumn 不需要指定。它默认为属性名称+“KEY”。所以在他的情况下,这将默认为 GRADESFORMAINSUBJECT_KEY。
标签: java hibernate spring-mvc jpa