通常我使用annotiations:@Query("SELECT c FROM Country c")
與JpaRepository
或預先定義的方法,如findAll
如何使用的createQuery彈簧引導
但對我來說我要生成動態查詢。
String baseQuery =SELECT c FROM Country c`
if(age!=null)
baseQuery+="WHERE c.age=20"
我需要從代碼級這樣進行相同的查詢:
查詢Q1 = em.createQuery( 「選擇C來自國家C」);
,但我不使用EntityManager
春季啓動
怎樣才能從代碼級的查詢?關於語法
@Repository
public interface CountryRepository extends JpaRepository<Country, Long> {
}
不是100%,但應該是類似的東西:
對不起,但是什麼阻止你調用你的倉庫的findAll()方法?您是否在不使用Spring Data JPA時詢問如何執行JPA查詢?如果是這樣,你嘗試了什麼,你面臨的具體問題是什麼? –
我不能使用findAll(),因爲我想生成動態查詢。 查詢必須取決於輸入值 – user3871754
您面臨什麼問題?您是否閱讀過spring-data-jpa文檔以瞭解如何創建自定義存儲庫方法? http://docs.spring.io/spring-data/jpa/docs/1.7.2.RELEASE/reference/html/#repositories.single-repository-behaviour –