2011-03-14 2 views
0

클래스 Foo이 있고 select()FooRepository 클래스가 있다고 가정 해보십시오.Hibernate에서 하나의 객체 또는리스트 <T>을 반환하는 것이 더 좋은가?

select() 메서드는 List<Foo> 개체 컬렉션을 반환합니다.

이제는 항상 단일 개체를 반환하는 select_one() 메서드가 필요합니다. 목록에 ONE 항목 만있는 Foo 또는 List<Foo> 유형을 반환하는 것이 가장 좋습니까? 나는 공연과 모범 사례에 대해 말하고있다.

감사합니다.

+0

성능면에서는 병목 현상이 발생하지 않습니다. 그것을 작동하게하고 계속 나아 간다. –

답변

2

성능면에서는 항상 단일 개체를 반환하는 것이 좋습니다.

그러나 디자인 측면에서 볼 때 클래스를 사용하는 코드에 따라 달라집니다. 모든 방법이 목록을 반환해야합니다 디자인 결정을 확인하려면 소비자의 코드는 항상이 같은 코드를 작성할 수

List<Foo> listOfObjects = yourClassInstance.select(); 

// or 

List<Foo> listOfObjects = yourClassInstance.select_one(); 

foreach(Foo foo in listOfObjects) 
{ 
    // process the selected objects.. 
} 

그래서, 당신이 가장 관심 내용에 따라, 당신까지 정말.

그러나 내부적으로 항상 T 및 기타 보조 멤버 배열을 생성하기 때문에 List에는 오버 헤드가 있습니다. 이것은 많은 목록을 생성 할 것이므로 list-of-one을 여러 번 생성하므로 더 많은 메모리를 소비하고 느려질 수 있기 때문에 소비자가 코드를 호출하는 것이 중요하다.

관련 문제