3
を返すように私は、次のHibernateのクラスがありますログインフェーズフォースHibernateは正しいサブクラスプロキシ
@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
の代理である
User user = db.createQuery("from User where email = :email")
.setParameter("email", email)
.uniqueResult();
を実行します私はDoctor
にキャストできません。 Hibernateがユーザータイプを注意深く見て、別のクエリを実行することなく、正しいプロキシを返すように強制できますか?
特定のインスタンスを取得するために、HibernateはすべてのサブクラステーブルでUNIONを実行するため注意してください。パフォーマンスが悪いことがあります。 –