hibernate - jpa是什麼 - spring jpa




休眠問題-“使用@OneToMany或@ManyToMany定位未映射的類” (3)

大多數在Hibernate ,需要在hibernate.cfg.xml添加Entity類,

</hibernate-configuration>
  </session-factory>

    ....
    <mapping class="xxx.xxx.yourEntityName"/>
 </session-factory>
</hibernate-configuration>

我正在用Hibernate Annotations找到自己的腳,並且我遇到了一個問題,我希望有人能幫助解決。

我有2個實體,Section和ScopeTopic。 Section有一個List類成員,所以是一對多關係。 當我運行我的單元測試時,我得到這個異常:

針對未映射類使用@OneToMany或@ManyToMany:com.xxx.domain.Section.scopeTopic [com.xxx.domain.ScopeTopic]

我會假設錯誤意味著我的ScopeTopic實體沒有映射到表? 我看不到我做錯了。 這裡是實體類:

@Entity
public class Section {
    private Long id;
    private List<ScopeTopic> scopeTopics;

    public Section() {}

    @Id
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @OneToMany
    @JoinTable(name = "section_scope", joinColumns = {@JoinColumn(name="section_id")},
               inverseJoinColumns = {@JoinColumn(name="scope_topic_id")} )
    public List<ScopeTopic> getScopeTopic() {
        return scopeTopic;
    }

    public void setScopeTopic(List<ScopeTopic> scopeTopic) {
        this.scopeTopic = scopeTopic;
    }
}
@Entity
@Table(name = "scope_topic")
public class ScopeTopic {
    private Long id;
    private String topic;

    public ScopeTopic() {}

    @Id
    public Long getId() {
        return id;
    }

    public void setId() {
        this.id = id;
    }

    public String getTopic() {
        return topic;
    }

    public void setTopic(String topic) {
        this.topic = topic;
    }
}

我很確定這是我自己缺乏理解的錯誤,所以一些指導會很棒,謝謝!


您的實體可能未在hibernate配置文件中列出。


我的許多實體都沒有@Entity

@Entity // this was commented
@Table(name = "some_table")
public class ChildEntity {
    @JoinColumn(name = "parent", referencedColumnName = "id")
    @ManyToOne
    private ParentEntity parentEntity;
}




jpa