【问题标题】:Using JPA1.0: How to write queries使用 JPA1.0:如何编写查询
【发布时间】:2011-07-21 10:40:19
【问题描述】:

早安,

我有一个奇怪的问题:

以下语句有效

Query q = em.createQuery("SELECT m from AccountClass as m");

而下面的语句没有

Query q = em.createQuery("SELECT m from AccountClass");

我正在尝试编写一个允许我使用 where 子句的语句;

感谢您阅读本文。

【问题讨论】:

    标签: mysql jpa jpa-1.0


    【解决方案1】:

    em.createQuery 期望 JPQL 查询而不是 SQL 查询作为参数传递。

    SELECT m FROM AccountClass 不是有效的 JPQL 查询,而 SELECT m FROM AccountClass m 是有效的。如果您想进一步了解 JPQL,可以从 Java EE tutorial chapter on JPQL 开始。

    SELECT m FROM AccountClass as m 在这种情况下起作用的原因是因为AS 是一个可选关键字。如果您希望发出 WHERE 子句,这样做很简单 - SELECT m FROM AccountClass m WHERE m.x= :param1,其中 xAccountClass 类的一个属性,param1 是一个命名参数,其值必须使用 @ 设置987654323@方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-15
      • 2014-09-24
      • 2018-04-06
      • 1970-01-01
      • 1970-01-01
      • 2019-10-06
      • 2018-09-28
      相关资源
      最近更新 更多