我正在開發一個spring-data-jpa應用程序。 我搭上了findBy
的存儲庫,但是當我看到帶有口音的內容時就不起作用。有誰知道爲什麼? 我使用下面的方法:Spring JPA findBy口音
Page<Dades> findByNomcomercialIgnoreCaseContaining (@Param ("nomcom") String nomcom, Pageable pageable);
數據庫是Oracle。
感謝您的關注。
我正在開發一個spring-data-jpa應用程序。 我搭上了findBy
的存儲庫,但是當我看到帶有口音的內容時就不起作用。有誰知道爲什麼? 我使用下面的方法:Spring JPA findBy口音
Page<Dades> findByNomcomercialIgnoreCaseContaining (@Param ("nomcom") String nomcom, Pageable pageable);
數據庫是Oracle。
感謝您的關注。
@Param不是必需的。如果您有任何疑問,即如果你正在使用@Query那麼我們就需要使用@參數傳遞相關型號的具體值query.Below可以檢查如何使用@Query和@Param
@Query("SELECT t.title FROM Todo t where t.id = :id")
String findTitleById(@Param("id") Long id);
,如果你不添加這些註釋用在你的倉庫層
@Transactional
@Repository
檢查另一件事,即
@Transactional
@Repository
public interface IXyzRepository extends CrudRepository<ABC,Integer>{
//some methods you have
}
是否ABC類的主ID是Integer類型的
這是因爲ignoreCase
不處理重音。它只是比較兩個字符串後大寫他們。有關更多信息,請參見documentation。
我不知道任何簡單的解決方案來忽略Spring Jpa的重音。您可以使用以下任一方式:
org.apache.commons.lang3.StringUtils.stripAccents
之後比較字符串)。upper
,0 like
等功能,所以你必須自己編寫,具體取決於你使用的數據庫。
我不認爲你需要param註釋,如果你想從方法名創建查詢,如果你想使用param註釋,那麼你需要在方法的頂部有@query。此外它將很高興看到錯誤日誌和實體。 –