Как назначить JPQL-запрос простому объекту Java? - PullRequest
1 голос
/ 03 сентября 2010

Мне нужно присвоить результат результата jpql простому объекту java класса

У меня есть что-то вроде этого

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

Мне нужно как-то сохранить результат этого SQL-запроса, пример

// может быть любым SELECT DISTINCT c.table_id, c.name, NULL КАК описание ОТ anyTable

Как мне сделать это в JPQL и затем присвоить результат моему объекту?

Ответы [ 2 ]

1 голос
/ 03 сентября 2010

Вопрос крайне неясен.Итак, вот расплывчатый ответ:

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);
0 голосов
/ 06 марта 2013

Я думаю, это ответ!

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

И это конструктор сущностей. Класс PersonalPell:

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;
    }

Есть некоторый код для извлечения результата:

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

Надеюсь, это тебе поможет! :)

...