当使用JPA createQuery()时,我发现我们可以同时使用类名和实体名来获取DB数据。
这是按类名写的
em.createQuery(“from com.model.Stuff s”, Stuff.class).getResultList();
这是来自实体名称
em.createQuery("from Stuff s",Stuff.class). getResultList();
这是在 orm 中.xml
<entity class="com.model.Stuff" name="Stuff">
无论我使用哪一个,JPA都可以从orm获得我正在使用的特定类。xml或我放在类中的注释。
>
那么为什么我要把Stuff.class放在参数中呢?
因为它在createQuery()中最多只能放两个参数,如果我必须选择两个类来做一些连接怎么办?
我不能这样做
em.createQuery("from Stuff s, Thing t itss.id=t.stuff_id",Stuff.class,Thing.class). getResultList();
是
em.createQuery("from Stuff s",Stuff.class). getResultList();
平等
em.createQuery(“从Stuff s,Stuff.class.getResultList()中选择s”);
谢谢你给我一些帮助。
>
Stuff.class
进入参数以确定查询结果对象的类型。一个查询可能无限复杂,有数十种嵌套类型,但它最终必须返回一种类型的对象。
然后,您必须创建第三个Java类型,它将是join的结果。想一想,一个join之后的结果应该是什么类型?
据我所知,是的