Wybór rodzimego zapytania JPA i rzut obiektu

Mam obiektAdmin który się rozszerzaUser. Domyślnie oba obiekty znajdują się w tabeliUser_ mojej bazy danych Derby (w tym pola zAdmin). Normalnie wybrałbymUser lubię to:

CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<User> query = cb.createQuery(User.class);
Root user= query.from(User.class);
Predicate predicateId = cb.equal(category.get("id"), id);
query.select(user).where(predicateId);
return em.createQuery(query).getSingleResult();

Jednak ze względu na złożoność mojego zapytania używam natywnego zapytania takiego jak to:

Query query = em.createNativeQuery("SELECT USER.* FROM USER_ AS USER WHERE ID = ?");
query.setParameter(1, id);
return (User) query.getSingleResult();

Chociaż to rzuca wyjątek rzucania. Myślę, że wynika to z jakichkolwiek pólAdmin.

Moje pytanie brzmi, jak mogę wybraćUser użycie natywnego zapytania z takim samym wynikiem jak pierwszy przykład (w tym te same wartości dla@LOB i@ManyToOne (et cetera) jak powróci zapytanie JPQL)?

questionAnswers(4)

yourAnswerToTheQuestion