Como solución alternativa, para obtener una entidad compuesta por otros atributos de entidad, puede crearla dentro de la consulta y proporcionarle un constructor.
Consulta:
TypedQuery<Media> query = em.createQuery("SELECT NEW package_name.Media(m.title, b.isbn, b.authors)"
+ " FROM Book b, Media m"
+ " WHERE b.isbn = :isbn"
+ " OR lower(m.title) LIKE :title"
+ " OR b.authors LIKE :authors", Media.class);
Entidad:
public Media(String title, int isbn, String author){
//-- Setting appropriate values
}
He proporcionado una muestra, cambie los tipos de datos del constructor en consecuencia.