slyak / spring-data-jpa-extra

spring data jpa with template dynamic query (eg: freemarker,velocity etc.) like mybatis. The master branch already support springboot2+ spring5+
Apache License 2.0
400 stars 116 forks source link

spring-boot版本 1.5.4.RELEASE 使用出错 #40

Open Asanenter opened 5 years ago

Asanenter commented 5 years ago

你好,我的项目spring-boot版本为1.5.4.RELEASE,jpa的版本也是一样,spring-data-jpa-extra版本使用2.1.1.RELEASE,启动时候报错 : No property mgetOneByOne found for type。 看了源码mgetOneByOne 是GenericJpaRepository里面的一个方法,项目把方法当成实体的属性了,请问有办法解决吗

stormning commented 5 years ago

应该没问题,因为这个类已经标注了@NoRepositoryBean

stormning commented 5 years ago

你可以配置: @EnableJpaRepositories(repositoryBaseClass = GenericJpaRepositoryImpl.class, repositoryFactoryBeanClass = GenericJpaRepositoryFactoryBean.class)

或者直接使用spring-boot-starter-jpa-extra

pengcgithub commented 3 years ago

image 请问下这个问题解决了嘛?我这边也是启动报上述错误,会是spring-data-commons版本的问题嘛?我现在是1.13.4-release

pengcgithub commented 3 years ago

本地跑单元测试是可以的正常请求的,但是通过服务启动就跪了,会报No property mgetOneByOne found for type错误。 一开始我以为会是mgetOneByOne 方法的原因,然后我将源码中的mgetOneByOne 方法实现注释叼,然后启动直接报程序中自己定义的方法找不到了。

pengcgithub commented 3 years ago

本地跑单元测试是可以的正常请求的,但是通过服务启动就跪了,会报No property mgetOneByOne found for type错误。 一开始我以为会是mgetOneByOne 方法的原因,然后我将源码中的mgetOneByOne 方法实现注释叼,然后启动直接报程序中自己定义的方法找不到了。

忽略上述问题,是我自己调试的问题。如果按照正常引入是没有问题。 spring-boot 1.5.4-release spring-boot-starter-jpa-extra 2.1.1.RELEASE

@EnableJpaRepositories(basePackages = "com.qianmi.oms", repositoryBaseClass = GenericJpaRepositoryImpl.class, repositoryFactoryBeanClass = GenericJpaRepositoryFactoryBean.class)

只做了上述配置,就能够正常启动。如果不能正常启动,大概率是spring版本的问题。