개찰구 : 인덱스 목록의 Idataprovider/LoadabledeTachableModel을 구현하는 방법

StackOverflow https://stackoverflow.com/questions/368033

  •  21-08-2019
  •  | 
  •  

문제

구현하는 가장 좋은 방법은 무엇입니까? IDataProvider 그리고 a LoadableDetachable 색인 목록의 개찰구에서? 신분 목록이있는 고객이 있다고 가정 해 봅시다.

class Customer {
    List<Adress> adresses;
}

이제 고객 주소에 대한 데이터 제공 업체/LDM을 구현하고 싶습니다. 나는 일반적인 방법이 IDataProvider 다음과 같은 구성 요소의 고객 모델을 나타내는 내부 클래스로

class AdressDataProvider implements IDataProvider {

public Iterator iterator() {
    Customer c = (Customer)Component.this.getModel(); // somehow get the customer model
    return c.getAdresses().iterator();
}

public IModel model(Object o) {
    Adress a = (Adress) o;
    // Return an LDM which loads the adress by id.
    return new AdressLoadableDetachableModel(a.getId());
}

}

질문 : 주소에 ID가 없을 때 (예 : 최대 절전 모드 임베드 가능/CollectionOfelements)이를 구현하려면 어떻게해야합니까? 소유 엔티티와 색인을 어떻게 참조합니까?

사실, 나는 해결책을 알고 있지만, 이것을하는 일반적인 패턴이 있는지 궁금합니다.

도움이 되었습니까?

해결책

제안 된 솔루션은 무엇입니까? 당신의 질문은 나에게 분명하지 않은 것 같습니다. 주소가 최대 절전 모드에 의해 게으르게로드됩니까? 위의 코드에서 문제가 무엇인지 실제로 알 수 없습니다. 주소가 c.getAdresses (). iterator ()의 Hibernate에 의해로드 된 경우; 전화, 당신은 주소가 있고 문제가 무엇입니까? 고객은 실제로 주소 개체 목록입니까, 아니면 그냥 ID가 있습니까? 항상 소유 엔티티를 녹음 할 수 있으며 AdressLoadeDeTachableModel 내부의 색인을 표시 할 수 있습니다. 즉, AdressLoadeAdeTachableModel (a.getId (), (customer) 구성 요소. this.getModel ())를 명확히 할 수 있습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top