【发布时间】:2021-07-14 19:35:16
【问题描述】:
正如标题所示,我的存储库中有这样的原生 SQL 查询
@Repository
public interface BesoinRepository extends CrudRepository<Statistic, Long>{
@Query(value="SELECT etat_besoin AS 'state',COUNT(DISTINCT id) AS 'number' FROM besoin WHERE YEAR(date_creation)=:year GROUP BY etat_besoin ",nativeQuery=true)
List<Object> getStatistic(@Param("year") int year);
}
类统计
package fr.solinum.management.model;
public class Statistic {
private String state;
private int number;
public String getState() {
return state;
}
public int getNumber() {
return number;
}
}
这工作正常,但我希望getStatistic 的返回类型为List<Statistic>,并且不需要在我的数据库中创建表 Statistic,因为我不需要它。换句话说,我只想从数据库中读取并将结果作为一个类返回。那么模型和存储库或控制器中的变化是什么,或者我的问题的最佳方法是什么?请注意,我修改了我的模型类来解决这个问题,但我不认为这是最佳或好的方法。
package fr.solinum.management.model;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "besoin")
public class Statistic {
@Id
private int id;
private String state;
private int number;
public String getState() {
return state;
}
public int getNumber() {
return number;
}
}
【问题讨论】:
标签: java spring-boot hibernate