2016-12-06 69 views
0

我有1個表與5列,我想找到使用「Like」模式使用列1,列2和列3之間的contatenation。查找使用連接列使用spring-data-jpa

TRIM(列1)+ TRIM(列2)+ TRIM(欄3)LIKE%搜索%

有沒有什麼捷徑,使這個使用彈簧數據的JPA不使用本地查詢?

感謝

回答

1

如果「捷徑」你的意思是作爲記錄here「在你的資料庫界面使用擬合方法的名稱定義查詢」,答案是否定的。 Spring數據在其方法命名策略中不支持像「trim」這樣的字符串方法。

但是,你可以定義一個JPAQL查詢到您的存儲庫方法與@Query註釋(這是不是本機查詢!)是這樣的:

@Query("select e from MyEntity e where concat(trim(column1), trim(column2), trim(column3)) like %:searchString%") 
List<MyEntity> findBySearchString(@Param("searchString") String searchString);