3
올바른 서브 클래스의 프록시 반환 : 로그인 단계에서강제 절전 나는 다음 최대 절전 모드 클래스 한
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public abstract class User {
@Id
private Long id;
}
@Entity
public class Patient extends User {
/* ... */
}
@Entity
public class Doctor extends User {
/* ... */
}
, 나는
User user = db.createQuery("from User where email = :email")
.setParameter("email", email)
.uniqueResult();
불길을 실행을 user
때문에, 항상 User
의 프록시 나는 그것을 Doctor
에 던질 수 없다. 하이버 네이트가 다른 쿼리를 실행하지 않고 사용자 유형을 자세히보고 올바른 프록시를 반환하도록 강제 할 수 있습니까?
Hibernate는 특정 인스턴스를 얻기 위해 모든 하위 클래스 테이블과 함께 UNION을 실행하기 때문에 조심해야한다. 성능에 좋지 않을 수 있습니다. –