/ / usuwanie elementów w OneToMany za pomocą RequestFactory i JPA - java, gwt, jpa, requestfactory

usuwanie jednostek w OneToMany za pomocą RequestFactory i JPA - java, gwt, jpa, requestfactory

Chciałbym wiedzieć, jaki jest właściwy sposób usunięcia dziecka z relacji jeden-do-wielu w GWT przy użyciu fabryki żądań.

Moja aplikacja GWT z wywoływanym podmiotem Produkt i ten produkt ma relację jeden do wielu Ekspert:

@Entity
public class Product {
...
OneToMany(mappedBy="product", orphanRemoval=true,
cascade={CascadeType.DETACH,CascadeType.MERGE,CascadeType.PERSIST,CascadeType.REFRESH},fetch=FetchType.EAGER)
Set<Expert> experts = new HashSet<Expert>();
...
}

@Entity(name = "EXPERT")
public class Expert {
...
@ManyToOne(optional=false)
Product product;
...
}

Mam interfejs użytkownika, w którym możesz zmienić niektórewartości produktu, ale także okno, w którym można dodawać lub usuwać ekspertów. Dodanie eksperta idzie dobrze, ale jak usunąć eksperta? A jaką administrację muszę wykonać po stronie klienta i serwera?

Mam już otwarty produktRequest.

Odpowiedzi:

0 dla odpowiedzi № 1

Odpowiedziałem również na twoje pytanie WZP.

Opierając się na moich wcześniejszych doświadczeniach, usunięcie dziecka w dwukierunkowej relacji rodzic-dziecko w Hibernate może być bardzo trudne.

Zwykle używam mapowania jednokierunkowego, tzn. Produkt nie posiada zestawu ekspertów. Ale możesz zaimplementować gettera, aby uzyskać wszystkich ekspertów korzystających z wywołania Hibernate. Zalety to:

  1. łatwiejsze mapowanie
  2. łatwiejsze kodowanie
  3. zarządzalne zachowanie

Zawsze możesz wrócić i zaimplementować buforowanie lub szybkie pobieranie na późniejszym etapie. A przez większość czasu są niepotrzebną optymalizacją przed dojrzałością.