2015-08-20 18 views
15

Ben IntelliJ IDEA dışarı çalışıyorum ve oldukça anlamıyorum bir hazırda dernek beni uyarıyor.nitelik türü 'One To Birçok' olmamalı 'Sebat Varlık'

Tek Taraf:

@Entity 
@Table(name = "MY_REQ_ASSIGNEE") 
public class MyRequestAssignee extends BaseUser { 
    //... 
    @OneToMany(fetch = FetchType.EAGER, cascade = {CascadeType.ALL}, mappedBy = "myRequestAssignee") 
    private Collection<MyRequest> myRequests = new ArrayList<>(); 
    //... 
} 

Birçok Yan:

@Entity 
@Table(name = "MY_REQUEST") 
public class MyRequest implements Persistable { 

    //... 
    @ManyToOne(fetch=FetchType.EAGER) 
    @JoinColumn(name="ASSIGNEE_ID") 
    private MyRequestAssignee myRequestAssignee; 
    //... 
} 

(. Persistable emin hazırda ona erişimi olan yapmak id özelliğine sahiptir sadece bir arabirim)

ben Kırmızı altı çizili MyRequestAssignee yazın ve ileti 'Many To One' attribute type should not be 'Persistence Entity'. okur İlişkilerimle ilgili yanlış bir şey mi var? bir sağlamlık denetimi için

ben de this post ve this post baktı.

cevap

49

Bunu, hibernate.cfg.xml dosyasında tanımlanmayan çocuk varlığından kaynaklandığını buldum. Hata mesajı geliştirilebilir.

+1

ekleme '' hibernate.cfg.xml bu çözüldü. – bphilipnyc

+0

Müthiş. Hibernate.cfg.xml dosyasına eklemek için daha açık olmalıydım. –

+0

JPA kullanıyorsanız, bu, persistence.xml dosyasında eksik olan bir girdi olabilir. – TheChrisPratt

0

Bu soru biraz eski, ama sadece bu da çakışan hazırda .hbm eşleme dosyasının ve JPA ek açıklamaları neden olabilir eklemek istedim. Eski eşleme dosyalarını ek açıklamalara dönüştürürken bu hata mesajıyla karşılaştım ve eski harita dosyalarından birini eklemeyi unuttum.

İlgili konular