在 Spring Boot 和 JPA 中有介面 JpaRepository,它已經提供了最重要的方法,例如findAll,saveAll如. 關聯的 RestService 是否也有這樣的介面?
如果沒有,如何繼續定義這樣的介面。我曾經查看過 JpaRepository,那里的方法沒有被編碼出來。但也只有與List<T> findAll();指定,實際代碼在哪里?
非常感謝
uj5u.com熱心網友回復:
這些方法沒有編碼出來。但也只能使用 List findAll(); 指定,實際代碼在哪里?
JpaRepository只是一個介面,這意味著它只提供該介面應該可用的宣告和簽名。
JpaRepository是一種從 spring 中利用JPA layer并提供一些對程式員非常有用的額外常用功能的方法。
話雖如此,重要的是要理解JPA layer以下內容JPA specification,并且僅僅是規范而不是實作。多個供應商來提供他們的實作,只要他們符合這個規范。這些提供者(例如hibernate, eclipseLink, DataNucleus)提供JPA layer. 這些提供者提供與資料庫通信的代碼并執行jpa layer.
JpaRepository它的作用是利用這一點并JPA layer通過呼叫必要的東西來提供一些額外的功能jpa layer并公開一些常見的功能。因此JpaRepository不會使用本機查詢直接與資料庫通信,而是使用jpa layer示例中提供的內容hibernte并提供一些jpa query用于休眠以檢索它想要的內容。
JpaRepository在 Spring 中,您可以找到一些類似的實作類,SimpleJpaRepository.class但它們同樣不提供端到端的功能,而只是通過jpa layer與 hibernate 之類的提供者間接通信,為程式員提供一些常用的功能。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/520506.html
