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

  • jkimisyellow

    jkimisyellow

    6 Mayıs 2009
  • KarnasCamillo

    KarnasCamill

    24 EKİM 2007
  • LatinNinja99

    LatinNinja99

    28 EKİM 2011