JPA Native Query-Objekt auswählen und umwandeln

Ich habe ein ObjektAdmin was sich erstrecktUser. Standardmäßig befinden sich beide Objekte in der TabelleUser_ meiner Derby - Datenbank (inkludierte Felder vonAdmin). Normalerweise würde ich eine auswählenUser so was:

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();

Aufgrund der Komplexität meiner Abfrage verwende ich jedoch eine systemeigene Abfrage wie die folgende:

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

Dies löst jedoch eine Besetzungsausnahme aus. Ich denke das liegt an irgendwelchen Feldern ausAdmin.

Meine Frage ist, wie ich eine auswählen kannUser Verwenden einer systemeigenen Abfrage mit dem gleichen Ergebnis wie im ersten Beispiel (einschließlich der gleichen Werte für@LOB und@ManyToOne (und so weiter) als die JPQL-Abfrage zurückkehren würde)?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage