JPA createQuery()

JPA createQuery(),jpa,Jpa,当使用JPA createQuery()时,我发现我们可以同时使用类名和实体名来获取DB数据 这是通过类名 em.createQuery(“来自com.model.s”, getResultList() 这是来自实体名称 em.createQuery(“来自文件s”, getResultList() 这是在orm.xml中 <entity class="com.model.Stuff" name="Stuff"> 无论我使用哪一个,JPA都可以从orm.xml或我放在类中的注释

当使用JPA createQuery()时,我发现我们可以同时使用类名和实体名来获取DB数据

这是通过类名

em.createQuery(“来自com.model.s”, getResultList()

这是来自实体名称

em.createQuery(“来自文件s”, getResultList()

这是在orm.xml中

<entity class="com.model.Stuff" name="Stuff">

无论我使用哪一个,JPA都可以从orm.xml或我放在类中的注释中获得我正在使用的特定类

  • 那么为什么我必须把Stuff.class放在参数中呢

  • 因为它最多只能在createQuery()中放置两个参数,所以如果我必须选择两个类来进行一些连接,该怎么办

    我不能这样做

    em.createQuery(“来自Stuff s,Thing t,其中s.id=t.Stuff_id”,Stuff.class,Thing.class).getResultList()

  • em.createQuery(“来自文件s”, getResultList()

    相等的

    em.createQuery(“从s中选择s”, getResultList()

  • 谢谢你给我一些帮助

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

  • 然后,您必须创建第三个Java类型,它将是join的结果。想想看,连接后的结果应该是什么类型

  • 据我所知,是的