최대 절전 모드 - 멤버 객체의 필드를 기반으로 객체를로드
문제
멤버 객체의 필드 값을 기준으로 객체를 최대 절전 모드를 통해 어떻게로드 할 수 있습니까? 예를 들어, Bar와 Foo 사이의 일대일 관계가있는 다음 클래스가 존재한다고 가정합니다.
Foo {
Long id;
}
Bar {
Long id;
Foo aMember;
}
FOO의 ID 만있는 경우 어떻게 최대 절전 모드 기준을 사용하여 막대를로드 할 수 있습니까?
내 머리에 뛰어 들어 첫 번째는 foo 객체를로드하고 막대 객체를로드하기위한 기준으로 설정했지만 낭비적인 것 같습니다. 기준으로이를 수행하는 효과적인 방법이 있습니까, 아니면 HQL이 처리 해야하는 방식입니까?
해결책
이를 달성하기 위해 효율적인 방식으로 기준을 절대적으로 사용할 수 있습니다.
session.createCriteria(Bar.class).
createAlias("aMember", "a").
add(Restrictions.eq("a.id", fooId));
트릭을해야합니다.
다른 팁
기준 또는 HQL을 사용할 수 있습니다.
HQL 예 :
query query = session.createquery ( "bar bar.amember.id = : foloid");
query.setparameter ( "foonoid", foloid);
목록 결과 = query.list ();
제휴하지 않습니다 StackOverflow