当前位置: 首页 > 知识库问答 >
问题:

JPA createQuery()

应翰飞
2023-03-14

当使用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”);

    谢谢你给我一些帮助。

  • 共有1个答案

    田念
    2023-03-14

    >

  • Stuff.class进入参数以确定查询结果对象的类型。一个查询可能无限复杂,有数十种嵌套类型,但它最终必须返回一种类型的对象。

    然后,您必须创建第三个Java类型,它将是join的结果。想一想,一个join之后的结果应该是什么类型?

    据我所知,是的

  •  类似资料:

    相关问答

    相关文章

    相关阅读