2012-03-22 3 views
0
다음과 같이 나는 봄 몽고 저장소 인터페이스를 정의하고

:봄 몽고 - 내 사용자 정의 저장소 구현에서 저장소 인터페이스 메소드에 액세스

public interface FooRepository 
    extends MongoRepository<Foo, String>, FooRepositoryCustom { 
    Foo findByMyField(String myField); 
} 

...이 같은 사용자 지정 인터페이스 :

public interface FooRepositoryCustom { 
    Foo findByMyObject(MyObject obj); 
} 

내 사용자 정의 저장소 구현에서 findByMyField 메소드를 호출하여 findByMyObject를 정의하려고합니다. 예 :

public class FooRepositoryImpl implements FooRepositoryCustom { 
    public Foo findByMyObject(MyObject obj) { 
    return new Foo(<repository>.findByMyField(obj.getId())); 
    } 
} 

저장소 인터페이스에 대한 참조를 얻을 수있는 단서가 있습니까?

답변

1

당신은 제네릭 타입에 의해 자동으로 묶어을 여행 할 경우, 다음 ...

public class FooRepositoryImpl implements FooRepositoryCustom { 
@Autowired 
private FooRepository fooRepository; 
public Foo findByMyObject(MyObject obj) { 
    return new Foo(fooRepository.findByMyField(obj.getId())); 
    } 
} 

또한

@Autowired 
private MongoRepository<Foo, String> fooRepository; 

확실하지 시도 할 시도 할 수 있습니다.

+0

나는 첫 번째 시도, 그것은 매력처럼 작동합니다, 감사합니다 Logged –

관련 문제