使用@Query可以从JpaRepository扩展

时间:2018-06-21 12:36:16

标签: spring-boot spring-data-jpa

我正在尝试使用@Query执行系统请求。因此,我不必扩展JpaRepository并无缘无故地创建实体。

我收到此错误:

SET @min = (SELECT MAX(vid) FROM tests)-7;
SET @max = (SELECT MAX(vid) FROM tests)-4;
SELECT * FROM tests WHERE vid BETWEEN @min AND @max ORDER BY sid ASC, vid ASC;

在MyService,我为MyDAO自动接线。

SELECT * FROM tests WHERE vid BETWEEN (SELECT MAX(vid) FROM tests)-7 AND (SELECT MAX(vid) FROM tests)-4 ORDER BY sid ASC, vid ASC

我尝试添加@Repository但没有任何改变

Field myDAO in myPackage.impl.MyService required a bean of type 'myPackage.dao.MyDAO' that could not be found.

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

虽然不必扩展JpaRepository,但至少必须扩展Repository

如果您确实没有实体,则可能一开始就不应该使用JPA,这完全是将实体映射到数据库表。

如果只想执行语句,则更合适的选择可能是一个简单的类,其中插入了JdbcTemplateNamedParameterJdbcTemplate