Java 如何使用不支持的功能重写此H2查询
我有一个JPA实体Java 如何使用不支持的功能重写此H2查询,java,sql,jpa,h2,Java,Sql,Jpa,H2,我有一个JPA实体 public class GenericRecord { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private LocalDate localDate; private String category; private Double amount; } 目前,我有一些代码生成一个映射,如下所示: 我想使用H2数
public class GenericRecord {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private LocalDate localDate;
private String category;
private Double amount;
}
目前,我有一些代码生成一个映射
,如下所示:
我想使用H2数据库上的查询生成此映射(数据已经在数据库中)。但是,我似乎使用了一个不受支持的功能(是“+”运算符吗?)
如何重写查询,使其在H2上运行(但可能具有广泛的兼容性)
编辑1
这是工作查询:
SELECT CATEGORY, CAST( MONTH(LOCAL_DATE) AS VARCHAR(2)) || '-' || CAST(YEAR(LOCAL_DATE) AS VARCHAR(4)) AS mi, SUM(AMOUNT)
FROM GENERIC_RECORD
GROUP BY CATEGORY, CAST( MONTH(LOCAL_DATE) AS VARCHAR(2)) || '-' || CAST(YEAR(LOCAL_DATE) AS VARCHAR(4))
在SQL数据库中,是
|
,而不是+
H2支持它,但您必须将其用作SQL server模式,请检查以下链接。
要使用它,请附加;MODE=MSSQLServer到数据库URL。示例URL:
jdbc:h2:~/测试;模式=MSSQLServer
另见: