2010-09-08 56 views
2

我想了解一些沒有正確記錄的項目的代碼。只有開發人員在任務上工作。我沒有太多的經驗。 有一個數據模型,有一些類可以訪問它。有人提到數據模型在它的頂部有一些休息API。但是當我看到代碼時,我可以看到gette r代碼,它使得一些休息呼叫一些uri。 但我看setter它有平原jpa用於persisit對象的方法。 ex extitymanger.persist(objname).REST和JAVA JPA

現在有可能使用REST接口獲取數據並使用JPA來存儲數據嗎?

回答

1

是的,這是可能的。不知道更多,它是不可能知道它是否有效。我的直覺告訴我這不是最好的解決方案。

+0

。他們爲什麼一定要這樣做? – akp 2010-09-08 16:40:09

+1

很多時候,不擇手段的工程師會測試新技術,只能在中點換一些東西。這可能會導致其他人支持的混亂。當需求或業務價值發生變化時,他們也有可能處於重構階段。 – 2010-09-08 20:30:24

0

這絕對有可能。這聽起來像訪問類正在抽象數據庫存儲。因此,它的行爲像DAO並使用JPA來訪問數據源。對於獲得者,您的訪問類正在使用某個服務提供的公開REST接口。因此,不是使用JPA查詢和返回數據,而是使用執行相同任務的服務。

也許REST接口只是一個get,並沒有提供存儲數據的機制,這就是爲什麼使用直接JPA。

+0

感謝您回覆john.Can你可以告訴我爲什麼他們可以這樣做?爲什麼不直接使用JPA來獲取數據呢? – akp 2010-09-08 16:39:40

+1

可能有多種原因,但我猜想可能查詢代碼很複雜,已經作爲服務的一部分存在,他們不想複製它。 REST接口可能由JPA代碼訪問的相同數據庫支持。這裏有特別的問題嗎?從你的代碼的角度來看,你正在使用已經存在的訪問器類,因此它們應該如何實現get/set方法並不重要。 – 2010-09-08 16:41:50

+0

謝謝約翰。你有什麼更多的投入嗎?感謝jacob,這對我很有幫助 – akp 2010-09-08 16:43:23

0

我覺得做的最好的事情就是忘記試着制定個別的代碼段並專注於此大的圖片。計算出所有的輸入和所有的輸出。甚至編寫一些測試用例來測試各種輸入來創建各種輸出。

通過這種方式,您可以理解代碼的作用,而無需知道所有小調小節。