java - 我有错误检查手册对应的mysql服务器版本

标签 java mysql api

存储库:

包 com.apsilabs.meterwebapi.repository;

import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

import com.apsilabs.meterwebapi.model.ActualsBlockLoad;
import com.apsilabs.meterwebapi.viewmodel.ActualsBlock;

@Repository
public interface ActualsBlockLoadRepository extends JpaRepository<ActualsBlockLoad, Long> {
    @Query(nativeQuery=true,value= "SELECT NEW com.apsilabs.meterwebapi.viewmodel.ActualsBlock(CONVERT(hour(rtc), CHAR(50)) as hours,CONVERT(date(rtc), CHAR(50)) as dates,CONVERT(IFNULL(avg(JSON_EXTRACT(JSON_UNQUOTE(data),'$.\\\"1012270255\\\"')),0),CHAR(50)) as voltage) from actuals_block_load  group by hours,dates order by dates,hours")
    public List<ActualsBlock> getActualsBlockLoad();

}

我有一个错误: 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行 '.apsilabs.meterwebapi.viewmodel.ActualsBlock(CONVERT(hour(rtc), CHAR(50)) as hou' 附近使用的正确语法

新类:

package com.apsilabs.meterwebapi.viewmodel;

public class ActualsBlock {
    private String hours;
    private String dates;
    private String voltage;

    public String getHours() {
        return hours;
    }

    public void setHours(String hours) {
        this.hours = hours;
    }

    public String getDates() {
        return dates;
    }

    public void setDates(String dates) {
        this.dates = dates;
    }

    public String getVoltage() {
        return voltage;
    }

    public void setVoltage(String voltage) {
        this.voltage = voltage;
    }

    public ActualsBlock(String hours, String dates, String voltage) {
        super();
        this.hours = hours;
        this.dates = dates;
        this.voltage = voltage;
    }

    public ActualsBlock() {
        super();
    }

}

最佳答案

您已使用nativeQuery=true,并且此查询不是 native 的。

SELECT NEW com.apsilabs.meterwebapi.viewmodel.ActualsBlock(CONVERT(hour(rtc), CHAR(50)) as hours,CONVERT(date(rtc), CHAR(50)) as dates,CONVERT(IFNULL(avg(JSON_EXTRACT(JSON_UNQUOTE(data),'$.\\\"1012270255\\\"')),0),CHAR(50)) as voltage) from actuals_block_load  group by hours,dates order by dates,hours.

为什么您使用 NEW com.apsilabs.meterwebapi.viewmodel.ActualsBlock(CONVERT.... 如果是 native 查询

关于java - 我有错误检查手册对应的mysql服务器版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60257823/

相关文章:

mysql - SQL中分组行的平均值

php - 存储过程在 php/mysql 世界中是行不通的吗?

api - Google Apps 脚本和外部 API 授权在 header 中失败

ios - 城市数据/统计信息Api

java - 将 DAO 注入(inject)构造函数是否被认为是不好的做法?如果是这样,为什么?

java - 将 Jpanel 添加到 Jframe NetBeans

java - 基准测试应该放在 Java (Maven) 项目中的哪里?

java - 简单的 BrowserComponent 会使应用程序崩溃

php - 外键列在 phpmyadmin 中显示为空

python - 尝试通过 Google Picasa API 添加照片或相册时无法进行身份验证