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

  • Digital Bounds

    Digital Boun

    19 Temmuz 2013
  • Video Copilot

    Video Copilo

    21 EYLÜL 2006
  • Within Temptation

    Within Tempt

    18 EYLÜL 2006