Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql JPA SQL从实体管理器选择和求和_Mysql_Sql_Jpa_Entity - Fatal编程技术网

Mysql JPA SQL从实体管理器选择和求和

Mysql JPA SQL从实体管理器选择和求和,mysql,sql,jpa,entity,Mysql,Sql,Jpa,Entity,以下SQL脚本在mysql中工作: select LOGGING_ID, SUM(NORMAL_HOURS +OVERTIME_HOURS +DOUBLE_TIME_HOURS) AS TOTAL_HOURS FROM LOGGING_DETAIL GROUP BY 1 我将如何与我的实体经理合作 @PersistenceContext private EntityManager database; List<loggingDetail>

以下SQL脚本在mysql中工作:

select 
    LOGGING_ID,
    SUM(NORMAL_HOURS +OVERTIME_HOURS +DOUBLE_TIME_HOURS) AS TOTAL_HOURS
FROM
    LOGGING_DETAIL
GROUP BY 1
我将如何与我的实体经理合作

@PersistenceContext
    private EntityManager database;

    List<loggingDetail> loggingDetail = new ArrayList<loggingDetail>();
    timeLoggingDetail = database.createQuery("").getResultList();
@PersistenceContext
私有实体管理器数据库;
List loggingDetail=新建ArrayList();
timeLoggingDetail=database.createQuery(“”.getResultList();
最后,我需要日志id和该id的总小时数。
谢谢

实体管理器可以调用您在jpa实体对象上设置的命名查询。在这种情况下,我假设您有一个实体对象。我想如果你没有这个对象,你可以在查询中这样做,就像在你的问题中那样。我喜欢把它放在实体对象中,这样其他调用可以重用它

实体对象-

 @Entity
 @NamedQuery( name = "loggingDetail.getLoggingId", query = "select 
LOGGING_ID,SUM(NORMAL_HOURS +OVERTIME_HOURS +DOUBLE_TIME_HOURS) AS TOTAL_HOURS
 FROM LOGGING_DETAIL GROUP BY 1" )
public class LoggingDetail
{ ...}
实体管理器调用将不会返回完全填充的loggingDetail对象,因为查询未返回完整对象,因此您必须通过对象数组进行循环-

@PersistenceContext
private EntityManager database;
Query query = database.createNamedQuery( "loggingDetail.getLoggingId" );
List<Object[]> obj = query.getResultList();
    for( Object[] objects : obj )
    {
      String logId = (String) objects[0] ;
      String logTime = (String) objects[1] ;
     }
@PersistenceContext
私有实体管理器数据库;
Query Query=database.createNamedQuery(“loggingdail.getLoggingId”);
List obj=query.getResultList();
对于(对象[]对象:obj)
{
字符串logId=(字符串)对象[0];
字符串logTime=(字符串)对象[1];
}