bazı çocuklar varlıkları. Güncelleme yapmak iste" /> bazı çocuklar varlıkları. Güncelleme yapmak iste" />
SORU
7 NİSAN 2011, PERŞEMBE


Hazırda Beklet - Çağlayan ile Bir koleksiyon=”-silmek-yetim” artık sahibi varlık tarafından başvurulan örneği

Benim varlık güncelleştirmek için çalışırken aşağıdaki sorunu yaşıyorum:

"A collection with cascade=”all-delete-orphan” was no longer referenced by the owning entity instance".

Bir üst varlık var ve bir dizi<...>bazı çocuklar varlıkları. Güncelleme yapmak istediğimde, tüm başvurular bu koleksiyon için ayarlı olacağım ve ayarlayın.

Aşağıdaki benim kod eşleme temsil eder:

@OneToMany(mappedBy = "parentEntity", fetch = FetchType.EAGER)
@Cascade({ CascadeType.ALL, CascadeType.DELETE_ORPHAN })
public Set<ChildEntity> getChildren() {
    return this.children;
}

Set temiz&;..^ lt etmeye çalıştım . sadece, buna göre: How to "possible" solve the problem ama işe yaramadı.

Eğer herhangi bir fikir varsa, lütfen bana bildirin.

Teşekkürler!

CEVAP
7 NİSAN 2011, PERŞEMBE


SonEntities bir atama nerede tüm yerleri kontrol edin. Bir şekilde başvurulan bağlantı yeni bir HashSet oluşturma alışveriş kümesi atamak her zaman bu hata olabilir. Örneğin:

public void setChildren(Set<SonEntity> aSet)
{
    this.sonEntities = aSet; //This will override the set that Hibernate is tracking.
}

İstediğiniz genellikle sadece "yeni" bir zamanlar bir kurucu olarak ayarlayın. Herhangi bir zaman ya da listenin içeriğini değiştirmek zorunda listeye bir şeyler eklemek ve silmek için yeni bir liste atamak yerine istediğiniz.

Çocuk eklemek için:

public void addChild(SonEntity aSon)
{
    this.sonEntities.add(aSon);
}

Çocukların kaldırmak için:

public void removeChild(SonEntity aSon)
{
    this.sonEntities.remove(aSon);
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • listedabive

    listedabive

    30 Ocak 2007
  • PCDIY

    PCDIY

    16 AĞUSTOS 2013
  • Photoshop Tutorials

    Photoshop Tu

    22 HAZİRAN 2011