【发布时间】:2021-01-06 11:06:29
【问题描述】:
我正试图摆脱我的 jpa-named-queries.properties,因为我觉得必须明确说明换行符很烦人。
因此,我想外部化我的原生 SQL 查询,但我无法做到,需要帮助。
GenericRecordRepository.java
public interface GenericRecordRepository extends JpaRepository<GenericRecord, Long> {
...
@Query(nativeQuery = true)
List<TransactionView> getTransactionListIncludingNull();
...
}
orm.xml
<named-query name="GenericRecord.getTransactionListIncludingNull">
<query>
SELECT ALL_DATES_CATEGORIES_MATRIX.CATEGORY, ALL_DATES_CATEGORIES_MATRIX.DATE, EXPENSES_BY_CATEGORY.AMOUNT
FROM
(
-- Transaction list with expenses in € grouped by month and category
SELECT CATEGORY, DATE_FORMAT(CAST(local_date as DATE), '%m-%Y') AS DATE, SUM(AMOUNT) AS AMOUNT
FROM GENERIC_RECORD
GROUP BY CATEGORY, DATE
) AS EXPENSES_BY_CATEGORY
RIGHT JOIN
(
-- Categories and dates matrix
SELECT *
FROM
(
-- Dates where there was at least one expense
SELECT DISTINCT DATE_FORMAT(CAST(local_date as DATE), '%m-%Y') AS DATE
FROM GENERIC_RECORD
) AS DISTINCT_DATES
CROSS JOIN
(
-- All categories
SELECT DISTINCT CATEGORY
FROM GENERIC_RECORD
) AS DISTINCT_CATEGORIES
) AS ALL_DATES_CATEGORIES_MATRIX
ON
EXPENSES_BY_CATEGORY.DATE = ALL_DATES_CATEGORIES_MATRIX.DATE AND
EXPENSES_BY_CATEGORY.CATEGORY = ALL_DATES_CATEGORIES_MATRIX.CATEGORY
ORDER BY CATEGORY, DATE ASC
</query>
</named-query>
org.springframework.data.mapping.PropertyReferenceException: No property getTransactionListIncluding found for type GenericRecord! 时我收到此错误
我也尝试更改方法的名称,因为名称中的“Null”部分似乎被切断了,但没有任何区别
【问题讨论】:
标签: java spring-data-jpa