我有以下存储库:
public interface MilestoneRepository extends JpaRepository<Milestone,Date> {
@Query("select m from Milestone m where m.date <= :date order by m.date desc")
Page<Milestone> findLeftClosest(@Param("date") Date date, Pageable pageable);
}
如上所述的定义工作正常,但如果我切换参数顺序:
public interface MilestoneRepository extends JpaRepository<Milestone,Date> {
@Query("select m from Milestone m where m.date <= :date order by m.date desc")
Page<Milestone> findLeftClosest(Pageable pageable, @Param("date") Date date);
}
我在上下文初始化时遇到以下异常(公布了最有趣的原因):
Caused by: java.lang.IllegalArgumentException: Either use @Param on all parameters except Pageable and Sort typed once, or none at all!
at org.springframework.util.Assert.isTrue(Assert.java:65)
at org.springframework.data.repository.query.Parameters.assertEitherAllParamAnnotatedOrNone(Parameters.java:265)
at org.springframework.data.repository.query.Parameters.<init>(Parameters.java:85)
at org.springframework.data.jpa.repository.query.JpaParameters.<init>(JpaParameters.java:43)
at org.springframework.data.jpa.repository.query.JpaQueryMethod.createParameters(JpaQueryMethod.java:284)
at org.springframework.data.jpa.repository.query.JpaQueryMethod.createParameters(JpaQueryMethod.java:51)
at org.springframework.data.repository.query.QueryMethod.<init>(QueryMethod.java:70)
at org.springframework.data.jpa.repository.query.JpaQueryMethod.<init>(JpaQueryMethod.java:79)
at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy$AbstractQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:69)
at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.<init>(RepositoryFactorySupport.java:304)
at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:161)
at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.initAndReturn(RepositoryFactoryBeanSupport.java:224)
at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet(RepositoryFactoryBeanSupport.java:210)
at org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean.afterPropertiesSet(JpaRepositoryFactoryBean.java:84)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1612)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1549)
... 59 more
对我来说这看起来像个虫子。我的感觉对吗?有人知道这方面的报道吗?或者,这可能是记录在案的某个地方和正当的行为?
sping-data-jpa版本:
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>1.5.2.RELEASE</version>
</dependency>
这确实是一个错误。我提交并修复了DATACMNS-520,这将使它成为Spring Data Commons1.7.3, 1.8.1和1.9 M1。
我知道这个问题,但是使用我仍然有同样的问题()。我的班级是: 编辑 电话: 方法:
我正在开发一个与spring Batch集成的Spring Boot应用程序。当我使用具有以下数据源属性的独立Spring Boot应用程序时,它工作得很好。但是当我将spring批处理集成到应用程序时,它会产生错误。 我试图通过作业配置中的moveToQueryStep()调用DbServiceImpl中的getCode()。我可以在dbserviceimpl.java“initialize”方
我正在尝试使用spring数据JPA(我的模型类用户)实现一对多关联。java是, 和私人住宅。java是, 我的观点是, 我需要从用户那里获取用户名,从PriVillage获取pname。通过组合我需要显示。现在我在我的存储库中使用下面的查询,即, 如上所述,我需要从一个表中选择用户名,从另一个表中选择pname。我需要如何更改我的查询?
我有spring boot项目(版本< code>2.4.6),带有spring数据依赖项(< code > spring-boot-starter-data-JPA )和postgreSQL驱动程序。 在项目中,我们使用Hibernate和数据存储库,通过以下方式配置: 我还想加入反应性R2DBC。我的计划是在一个特定的地方使用它,在那里我们与其他系统集成,这样的通信通过反应式数据流进行。根据它
我有以下实体: 用户: 新闻来源: UsersRepository和NewsSourcesRepository是来自Spring数据JPA的简单JPA存储。其配置如下: 我的测试在第15行抛出一个LazyInitializationException异常。信息是: 未能延迟初始化角色:新闻的集合。实体。用户。使用者新闻源,无法初始化代理-无会话 如果我将我的测试注释为@Transactional
本文向大家介绍解决springboot无法注入JpaRepository的问题,包括了解决springboot无法注入JpaRepository的问题的使用技巧和注意事项,需要的朋友参考一下 使用内置服务器启动springboot项目时,会从@SpringBootApplication修饰类所在的包开始,加载当前包和所有子包下的类,将由@Component @Repository @Service