Pregunta

Necesito asignar el resultado de un resultado JPQL a un simple objeto java clase

Tengo algo como esto

class myObject() {
@id
private Long id;
private String Name;
private String description;
...
//getters and setters
}

Necesito alguna manera de almacenar el resultado de esta consulta SQL, ejemplo

// podría ser anytable     SELECT c.table_id DISTINCT, c.name, NULL AS Descripción desde anyTable

¿Cómo se hace esto en JPQL y luego asignar el resultado a mi objeto?

¿Fue útil?

Solución

La pregunta es muy clara. Así que aquí hay una respuesta vaga:

EntityManagerFactory emf = Persistence.createEntityManagerFactory("MyPu");
EntityManager em = emf.createEntityManager();    
Query q = em.createQuery("select f.id, f.name from Foo f");
List<Object[]> foos = (List<Object([]>)q.getResultList();

MyObject o = new MyObject();
o.setFoos(foos);

Otros consejos

Creo, que es la respuesta!

SELECT NEW entities.PersonWell(c.peopleId, c.name, c.age, c.height, c.weight)
FROM 
  People AS c;

Y es un constructor de la clase entities.PersonWell:

public PersonWell(Integer peopleId, String name, short age, short height, short weight, short speechspeed) {
        this.peopleId = peopleId;
        this.name = name;
        this.age = age;
        this.height = height;
        this.weight = weight;
        this.speechspeed = speechspeed;
    }

No hay un código para una extracción de resultado:

List<PersonWell> resultList = query.getResultList();

espero, Te ayudará! :)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top