代码之家  ›  专栏  ›  技术社区  ›  ErVeY

如何将JPQL查询分配给一个简单的Java对象?

  •  1
  • ErVeY  · 技术社区  · 15 年前

    我需要将jpql结果的结果分配给一个简单的类java对象

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

    我需要以某种方式存储这个SQL查询的结果,例如

    //可能是任何一张桌子 从anyTable中选择DISTINCT c.table\u id、c.name、NULL作为description

    如何在JPQL中执行此操作,然后将结果分配给我的对象?

    2 回复  |  直到 15 年前
        1
  •  1
  •   Pascal Thivent    15 年前

    这个问题非常不清楚。所以这里有一个模糊的答案:

    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);
    
        2
  •  0
  •   Slava    13 年前

    我想,这就是答案!

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

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

    希望对你有帮助!:)

    推荐文章