2011-10-24 53 views
2

這裏有流行的框架,比如MyBatis(以前的iBatis)和Hibernate與關係數據庫一起工作。抽象框架與NoSQL數據庫一起工作

我可以從社區得到一些建議,是否有這樣的框架可用於NoSQL數據庫?即MongoDB和CouchDB?

我從Theserverside.com看到了一些JavATE的提及,這是類似的東西嗎?

非常感謝。

+0

請考慮將其標記這是維基。 (以目前的形式,有接近的選票)。 – Jayan

回答

2

什麼是你想通過抽象來完成?通常情況下,抽象會隱藏特定的實現......所以就NoSQL而言,這意味着隱藏您正在使用Mongo vs Couch(例如)。但NoSQL是一個通用術語,指的是數據存儲的4個不同類別的實現。一個是Graph(Neo4j),Document(Mongo,Couch),Name Value或Wide Column(如Cassandra)。

雖然像hibernate這樣的抽象在其中一個類中是有意義的,但將它們抽象爲業界稱之爲「NoSQL」的東西並不會有多大意義。

現在......抽象在您的應用程序代碼中是否有意義。在Java世界中,Spring可以幫助你。使用Spring模塊(例如spring-mongo,spring-neo4j)針對只輸入輸出POJO的java接口實現數據訪問層。無論如何,這都是SOLID的方式。

0

我剛纔推名爲spring-data-gremlin一個新的Spring-Data項目旨在做的正是這一點。它使用JPA批註來映射到任何Tinkerpop藍圖nosql數據庫(OrientDB,TitanDB是現在實現的)。這意味着在任何藍圖nosql數據庫之間切換應該是配置問題。

注:該項目正處於開發初期階段。

相關問題