如何将这个mysql添加到jpql中?

时间:2017-10-09 21:44:06

标签: mysql jpql

下午好,我在MYSQL中有这个查询,它给了我一个总和的数据,但我想将该查询转移到JPQL语言。

 SELECT SUM(`TOTAL_HORA_HOMBRE`) FROM `tiempos` WHERE `ID_ORDENTRABAJO` = 4696; 

感谢。

2 个答案:

答案 0 :(得分:0)

JPQL语法非常接近标准SQL。

但MySQL使用反向标记来分隔表名和其他标识符。这是非标准的。

取出后面的标记,我相信这个查询可以正常工作。

SELECT SUM(TOTAL_HORA_HOMBRE) FROM tiempos WHERE ID_ORDENTRABAJO = 4696; 

有关JPQL的完整文档,请参阅http://docs.oracle.com/javaee/7/tutorial/persistence-querylanguage.htm#BNBTG

答案 1 :(得分:0)

这是本机SQL查询。要使用JPQL,您必须使用@Entity注释和@Table注释注释一个java类,并指向tiempos表。

如果您的实体看起来像:

    @Entity
    @Table(name = "tiempos")
    public class Tiempos {

    @Column(name = "TOTAL_HORA_HOMBRE")
    Double totalHolaHombre;

    @ManyToOne
    @JoinColumn(name = "ID_ORDENTRABAJO")
    Ordentrabajo ordentrabajo;
    }

然后JPQL查询看起来像:

SELECT SUM(t.totalHolaHombre) FROM Tiempos t WHERE t.ordentrabajo = :paramOrdentrabajo;