我一直在試圖創建一個spring引導應用程序。在我的應用程序中,我想添加一些自定義方法來保存數據,而不是使用默認的保存方法。引發PropertyReferenceException的Spring數據JPA自定義方法
我的應用程序入口點是這樣的:
@Configuration
@ComponentScan
@EnableJpaRepositories(repositoryImplementationPostfix = "CustomImpl")
@Import(RepositoryRestMvcConfiguration.class)
@EnableAutoConfiguration
@PropertySource("application.properties")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
我已經改變了這一行repositoryImplementationPostfix甚至默認地將Impl,但沒有奏效。
我CrudRepository
@RepositoryRestResource
public interface TaRepository extends CrudRepository<Ta, Integer> ,TestRepository{
List<Ta> findByName(@Param("name") String name);
}
我的自定義庫:
public interface TestRepository {
public void myCustomMethod(TestDto dto);
}
我的自定義庫默認地將Impl
public class TestRepositoryCustomImpl implements TestRepository{
@PersistenceContext
private EntityManager em;
@Override
public void myCustomMethod(TestDto model){
}
注:
如果我改變自提這個我CrudRepostory:
@RepositoryRestResource
public interface TaRepository extends CrudRepository<Ta, Integer> {
List<Ta> findByName(@Param("name") String name);
}
一切工作正常。但與自定義方法實現不同。
它說什麼?任何錯誤? – nurgasemetey
引起:org.springframework.data.mapping.PropertyReferenceException:沒有屬性myCustomMethod在類型Ta中找到! –
http://stackoverflow.com/questions/20777785/org-springframework-data-mapping-propertyreferenceexception-no-property-catch-f - 這個鏈接表示您必須將'TestRepositoryCustomImpl'更改爲'TaRepositoryCustomImpl'和'TestRepository'以'TaRepositoryCustom' – nurgasemetey