Ben bir model var dize ama uzun değil çalışır String
, bu iyi çalışıyor. Bir numara Fakat (Long
)Bahar Veri DİNLENME Özel Kaynak URI
public interface MyRepository extends JpaRepository<MyModel, Long> {
Optional<MyModel> findByExternalId(@Param("externalId") Long externalId);
}
çağırma: /myModels/1
alıyorum:
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long
at org.springframework.data.rest.core.config.EntityLookupConfiguration$RepositoriesEntityLookup.lookupEntity(EntityLookupConfiguration.java:213) ~[spring-data-rest-core-2.6.4.RELEASE.jar:na]
at org.springframework.data.rest.core.support.UnwrappingRepositoryInvokerFactory$UnwrappingRepositoryInvoker.invokeFindOne(UnwrappingRepositoryInvokerFactory.java:130) ~[spring-data-rest-core-2.6.4.RELEASE.jar:na]
at org.springframework.data.rest.webmvc.RepositoryEntityController.getItemResource(RepositoryEntityController.java:524) ~[spring-data-rest-webmvc-2.6.4.RELEASE.jar:na]
at org.springframework.data.rest.webmvc.RepositoryEntityController.getItemResource(RepositoryEntityController.java:335) ~[spring-data-rest-webmvc-2.6.4.RELEASE.jar:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_111]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_111]
...
ayrı özel EntityLookupSupport<MyModel>
bileşen sınıfı eserler.
RepositoryRestConfigurerAdapter
benim yöntem başvuruları kullanarak Long
için çalışıyor almak için bir şey eksik mi?
Temel veritabanı sütununun türü nedir? Sütun bir String mi? – Ben
@Ben Veritabanı sütun tipi: int, Veritabanı: MySQL. Tür String ise, çalışır (dönüştürücü gerekmez, model alanı Long yerine String olur). Tip int (yabancı anahtar kısıtlamaları) ile çalışmak için ihtiyacım var. – rizjoj
'/ myModels/1' yerine'/myModels/1L' öğesini çağırırsanız ne olur? Bir seri hale getirme sorunu olabilir –