SORU
10 ŞUBAT 2011, PERŞEMBE


- &Quot;Kullanın @eşlenmemiş bir sınıfı hedef" hazırda sorun OneToMany ManyToMany;

Hazırda Beklet ek Açıklamalar ile ayaklarımı buluyorum ve bazı biri yardımcı olabilir umarım bir sorun buldum.

2 varlıklar, Bölüm ve ScopeTopic var. Bölüm Listesi sınıf üyesi, bu yüzden Bir Çok ilişki vardır. Benim birim test çalıştırdığımda bu özel durum alıyorum:

@OneToMany ya @ManyToMany eşlenmemiş bir sınıf hedefleme kullanın: com.xxx.etki alanı.Bölüm.scopeTopic[com.xxx.etki alanı.ScopeTopic]

Hata ScopeTopic benim varlık tablosu eşlenen olmadığını ima sanıyorum? Ben yanlış yaptım göremiyorum. Burada Varlık sınıfları:


@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;
    }
}

Bir rehber çok iyi olurdu bu yüzden hatalı olan anlayış kendi eksikliği olduğuna eminim, teşekkürler!

CEVAP
10 ŞUBAT 2011, PERŞEMBE


Ek açıklamalar iyi bak. İşte kontrol etmeniz gereken şeyler:

  • ek açıklama javax.persistence.Entity org.hibernate.annotations.Entity olduğundan emin olun. Eski varlık tespit yapar. İkincisi sadece bir ektir.

  • eğer elle varlıklar (oturum fabrika yapılandırırken hibernate.cfg.xml ya persistence.xml) Listeleme, sonra da ScopeTopic varlık listelenen olduğundan emin olun

  • farklı paketler halinde ScopeTopic birden çok sınıf yok emin olun, ve yanlış bir karar alındı.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • NikkoNantone

    NikkoNantone

    21 Kasım 2011
  • Tinkernut

    Tinkernut

    28 Aralık 2006