2011-06-10 157 views
3

如果您在項目中使用JPA,JPA是如何實際工作的?它是如何處理1000次請求一次訪問同一數據時請求的響應?JPA如何實際工作?

+0

http://download.oracle.com/javaee/6/tutorial/doc/bnbpy.html – 2011-06-10 03:51:24

回答

7

JPA基本上是一種抽象,使用ORM技術。如果將各種模型類映射到數據庫,則JPA可以a)生成適當的SQL查詢/更新,b)將結果集轉換爲模型類。 JPA還包含緩存和摘要事務處理。最後,它並沒有真正做到任何奇妙的事情 - 所有事情最終都會經歷你的JDBC驅動程序,變成原始的SQL並返回JDBC結果集等等。它只允許你隱藏大量的代碼,只需將你的模型類作爲Plain Old Java Objects(POJO)使用,其中設置屬性觸發UPDATE並獲取屬性觸發SELECT(將所有內容和組織緩存到事務中允許遠遠超過你通過簡單的一對一實現獲得的性能。

所以你的第二個問題沒有實際意義 - 如果有1000個請求出去,它主要是數據庫服務器必須擴展和處理這個,而不是JPA(不可否認,它必須處理髮送它們然後將它們編組成java對象)

+0

我可以問這個問題需要跟進嗎?所以,我明白JPA是一個抽象,但是wh到底是實際的數據庫?我無法爲我的生活找到它。我習慣於使用phpmyadmin或dev gu工具,但是...... – null 2015-07-22 19:18:04

+0

JPA如何在多線程環境下處理緩存對象訪問? – 2017-12-08 11:06:57