【发布时间】:2017-11-25 02:59:22
【问题描述】:
在使用 JPA createQuery() 时,我发现我们可以同时使用类名和实体名来获取数据库数据。
这是按类名
em.createQuery("来自 com.model.Stuff s", Stuff.class).getResultList();
这是来自实体名称
em.createQuery("来自 Stuff s", Stuff.class).getResultList();
这是在 orm.xml 中
<entity class="com.model.Stuff" name="Stuff">
无论我使用哪一个,JPA 都可以从 orm.xml 或从我放在类中的注解中获取我正在使用的特定类。
那么为什么我必须将 Stuff.class 放入参数中?
-
因为 createQuery() 中最多只能放两个参数,如果我必须选择两个 Class 进行连接怎么办?
我不能这样做
em.createQuery("来自 Stuff s, Thing t where s.id = t.stuff_id", Stuff.class, Thing.class).getResultList();
-
是
em.createQuery("来自 Stuff s", Stuff.class).getResultList();
等于
em.createQuery("从 Stuff s 中选择 s", Stuff.class).getResultList();
谢谢你给我一些帮助。
【问题讨论】:
标签: jpa