문제

를 호출할 때는 원격 서비스(예:이 RMI)을 로드하는 목록의 엔티티 데이터베이스에서 사용하는 최대 절전 모드는 어떻게 당신이 그것을 관리하면 초기화 모두 필드를 참조하는 클라이언트가 필요?

예제:클라이언트는 원격 호출 방법을 로드하든 고객에게 제공됩니다.각각의 고객은 클라이언트가 참조하여 고객의 목록을 구입 한 기사를 초기화됩니다.

내가 상상할 수 있는 다음과 같은 솔루션:

  1. 쓰 원격 방법에 대한 각각의 특별한 쿼리하는 필수 필드를 초기화합니다 (예:Hibernate.initialize())와 도메인을 반환합체의 클라이언트입니다.

  2. 다음과 같습니다 1.그러나 만들 dto 로

  3. 분 쿼리로 여러 쿼리,예를 들어,고객을위한 하나,둘째에 대한 고객의 기사,그리고 클라이언트를 관리하는 결과

  4. 원격 메소드는 DetachedCriteria 여 만든 클라이언트와 서버가 실행

  5. 개발자 지정"Preload-패턴",즉는 방법에 대해 클라이언트를 지정하는 명시적으로는 특성을 미리.

도움이 되었습니까?

해결책

내가 사용하는 1 과거에 그것은 잘했습니다.

다른 팁

내가 생각하는 숫자 5 이유가 있"가"절에서 조회.사용할 수 있는 것 또는 문제가 더 복잡해?

었어서 고객에게 표준화는'프로젝트에#5 고 일했습니다.종의 서비스를 통화했다는 쉼표로 구분한 목록의 모든 속성을 로드,예를 들어:

CustomerService.getCustomerById(id, "parent, address, address.city")

나는 그들이 사용 fetch 절니다.내가 구현되는 동일한 아이디어를 한 번에 대한 jpa 를 사용하여 PropertyUtils 트리거 지연 로드.

이는 원격 서비스는...그것은 또 다른 부분의 응용 프로그램?그렇다면,아무 문제가 없다 클래스를 공유하고 보내는 경우 앞뒤로(같은 RMI 를 사용하여,스텁).

다음 옵션을 액세스 하는 웹서비스 또는 이와 유사한 곳에 두 응용 프로그램에 통신을 공유하지 않는 클래스고,이것은 것도 까다 롭습니다.내가 이 문제에 직면 가까운 미래에 나는 매우 관심이 알고 대답이다.

어쨌든,내 투표에 대한 dto 로.나는 그들이 제공하는 가장 쉬운 솔루션,해당되는 경우,그리고 유지하는 데 도움이드 간단하고 유지 관리할 수 있습니다.

Hyun=8-)

는 경우에는 원격 서비스를 제공하기 위해 존재합니다 당신의 클라이언트와 데이터를 끄기 지연 로드 모두에 최대 절전 모드 엔티티가 도움이 될 수 있습니다.

개인적으로,그러나 내가 생각하 dto 로 올바른 방법으로 이동합니다.을 표현하여 원격 인터페이스의 측면에서 dto 로라는 확신이 필요한 모든 것을 얻을,당신은 아무것도 기대하지 않았다.

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