2015-09-26 63 views
0

我正在處理多個數據庫,如MSSQL服務器和PostgreSQL的繁重的交易和複雜的查詢。我搜索了簡單的jdbc比ORM更快。我正在考慮使用ORM,因爲我不想針對同一工作爲不同的數據庫編寫不同的查詢,並且爲了標準化我的dao層。我正在映射我的數據庫表而不使用外鍵,而對於像apache卡宴這樣的ORM,我必須使用外鍵約束映射表,所以我可以使用我的連接或任何其他多表操作。它是好的使用和ORM或簡單的jdbc是好的。哪個更好ORM(Apache Cayenne),JDBC還是SpringJDBC?

回答

0

從你的問題描述中,你已經理解了所涉及的折衷。所以這是一個真正的決定,你需要根據這些權衡來爲自己做出決定。

我在這裏唯一的建議是再次看看性能要求。雖然ORM的確引入了創建,存儲和管理對象的開銷,但除了少數情況外,爲了更好的抽象,您可以放心地忽略這種開銷。另外,當經常使用JDBC時,最終會編寫自己的代碼將ResultSet轉換爲對象,這會遇到自己的開銷。所以你最終可能不會得到更快的代碼,同時喪失乾淨對象模型和管理它的框架的所有好處。

所以我自己的偏好是更好的抽象(在這種情況下是ORM),然後使用框架工具來優化性能。例如。以加快處理大型結果集Cayenne provides a few techniques:結果迭代器,DataRow查詢,分頁查詢等。

另一方面,如果無法將數據完全建模爲實體,則會使用JDBC或類似MyBatis的東西。例如。當沒有自然關係時,所有訪問都是通過存儲過程發生的,等等。雖然看起來不像你的情況。

相關問題