2011-10-26 4 views
0

의존성 삽입을 위해 프로젝트에서 Spring.Net을 사용합니다. 이제는 객체 속성을 게으른로드하는데도 사용하고 싶습니다.Spring.Net을 이용한 지연로드 콜렉션

내가 사용 :

은 예입니다

  • CustomerDao에 액세스 할 데이터베이스 (getCustomer (idCustomer), getAddresses (idCustomer))
  • 고객 (이름, 성, IList의 주소. ..)
  • 주소 (...)

내가 게으른 부하에 Spring.Net을 구성 할 Customer.Add resses 속성.

저는 인터셉터를 사용해야한다고 생각합니다 ... 간단한 구성 예제를 가르쳐 주시겠습니까?

+0

모든 고객 및 주소 인스턴스가 스프링 구성에서 올바르게 구성되었는지 제대로 이해합니까? 이것은 매우 드문 일입니다. 대부분의 경우 당신은 어떤 종류의 데이터베이스에서 이러한 유형의 객체 (엔티티)를 검색합니다. – Marijn

+0

아니요, CustomerDao 만 Spring에 구성됩니다. 고객 및 주소는 POCO 주체입니다. – danyolgiax

답변

0

Castle Windsor DynamicProxy 구현을 사용하여 고유 한 프록시를 만들어 개체 속성을 지연로드 할 수 있습니다. 그러나 이것은 사소한 일이 아닙니다!

DAO/DAL에서 객체 속성을 게으른로드하려는 경우 NHibernate와 같은 적절한 ORM 구현을 수행하는 것이 좋습니다.

github에서 SubSonic 프로젝트 저장소의 this file에서 자신 만의 프록시를 구현 한 구현 예를 찾을 수 있습니다.

+0

나는 NHibernate를 안다, 나는 성을 안다. .. 나는이 프로젝트에서 나는 그들을 사용할 수 없다! 나는 ORM없이 Spring.Net을 사용해야한다. – danyolgiax

+0

나는 아음속의 프록시 구현을 지적했다. 이것은 자신의 프록시 구현을 달성하는 방법에 대한 아이디어를 제공해야한다. – saintedlama

+0

Afaik Spring.NET은 AOP 용 Castle Dynamic Proxy를 사용하기 때문에 나중에 사용할 수 있는지 확인할 수 있습니다. – Marijn