2014-03-30 3 views
0

데이터베이스 통신을 위해 최대 절전 모드를 사용하고 있습니다. 다음과 같은 클래스가 있습니다 :최대 절전 모드를 사용하는 개체의 테이블에서 선택된 열만 가져 오기

@Table(name="Person") 
public class Person { 

@Column(name="name") 
private String name; 

@OneToMany 
@JoinColumn(name="Address_id) 
private Set<Address> address; 

... <other filed similarly> 

} 

이제 기본 키를 사용하여이 객체를 가져오고 싶지만 객체에 특정 열만 채워야합니까? 내가 기준 및 프로젝션을 사용하여 시도

, 그것은 결과를 반환 있지만 내가 (사람 개체)

모든 아이디어를 어떻게 최대 절전 모드 쿼리/기준을 사용하여이 문제를 해결하기를 기대 객체에 매핑되지 않는 이유는 무엇입니까?

감사합니다.

+0

원하는 것이 맞나요? http://stackoverflow.com/q/11626761/1292605? – Pith

답변

0

사용 된 최대 절전 모드 주석이 올바르게 작성되어야합니다.

두 개의 엔티티 인 Person과 Address가 있다고 가정 해 보겠습니다. ;

public Encounter getAddressById(int idAddress) { 
    session = sf.getCurrentSession(); 
    session.beginTransaction(); 

    Address address = (Address) session.load(Address .class, idAddress); 

    return address ; 
} 

이 사람과 매핑 된 주소를 반환해야합니다

@Table(name="Person") 
public class Person { 

@Column(name="name") 
private String name; 

@OneToMany 
@JoinColumn(name="Address_id") 
private Set<Address> address; 

... <other filed similarly> 

} 

그리고 당신은 당신이 같은 방법이있을 때이 매핑을 사용하여 주소 클래스

@Table(name="addresses") 
public class Address{ 

@Column(name="name") 
private String addressName; 
@ManyToOne 
private Person person; 

} 

에게이 반대편에

최대 절전 모드로 전체 개체를 반환했기 때문에 일부 열의 표시가 선택됩니다.

관련 문제