게으른 로딩에 대한 몇 가지 테스트를 시도하면서 잘 이해하고 있는지 확인하기 위해 완전히 혼란스러워했다. 게으른 로딩에 대해 혼동을 느낀다.
@Entity
public class Family {
@Id
private int id;
@OneToMany(mappedBy="family", fetch=FetchType.LAZY)
private Set<Person> members;
//getters & setters
public String toString(){
String s="";
for(Person p:getMembers()){
s+=p.getFirstName();
}
return s;
}
}
@Entity
public class Person implements Comparable<Person>{
@Id
private int id;
private String firstName;
private String lastName;
@ManyToOne
private Family family;
//getters &setters
}
여기 내 주요 방법입니다 :
여기에 내가 내 테스트에 사용하고 엔티티의 내가 게으른 로딩 이해 무엇
public static void main(String[] args) {
factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
em = factory.createEntityManager();
Query q = em.createQuery("select f from Family f");
List<Family> families= q.getResultList();
em.clear();
em.close();
factory.close();
for(Family f:families){
System.out.println(f);
}
}
이있는 속성에 표시되어있는 경우 그 느리게 가져오고 관리하는 동안 액세스하지 않으면 메모리에로드되지 않고 나중에 액세스하려고 시도 할 수 없습니다. 이제는 EM과 EMF를 닫은 후에도 분리 된 패밀리 목록을 통해 지연 멤버 속성에 액세스 할 때 위에서 설명한 테스트에 아무런 문제가 없다는 점이 혼란 스럽습니다! 그게 정상인가요? 나 - 게으른 로딩 컨셉을 이해하지 못해?
참고 : DB가 내장 된 J2SE 환경을 사용하고 있습니다. 내 제공자는 사전에 EclipseLink가
감사
입니다조지
도움을 주신 것에 대해 이미 감사드립니다. [여기] (http : //www.eclipse.org/forums/index.php/mv/msg/261691/755570/#msg_755570) :-) –