這裏有流行的框架,比如MyBatis(以前的iBatis)和Hibernate與關係數據庫一起工作。抽象框架與NoSQL數據庫一起工作
我可以從社區得到一些建議,是否有這樣的框架可用於NoSQL數據庫?即MongoDB和CouchDB?
我從Theserverside.com看到了一些JavATE的提及,這是類似的東西嗎?
非常感謝。
這裏有流行的框架,比如MyBatis(以前的iBatis)和Hibernate與關係數據庫一起工作。抽象框架與NoSQL數據庫一起工作
我可以從社區得到一些建議,是否有這樣的框架可用於NoSQL數據庫?即MongoDB和CouchDB?
我從Theserverside.com看到了一些JavATE的提及,這是類似的東西嗎?
非常感謝。
什麼是你想通過抽象來完成?通常情況下,抽象會隱藏特定的實現......所以就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的方式。
我剛纔推名爲spring-data-gremlin一個新的Spring-Data項目旨在做的正是這一點。它使用JPA批註來映射到任何Tinkerpop藍圖nosql數據庫(OrientDB,TitanDB是現在實現的)。這意味着在任何藍圖nosql數據庫之間切換應該是配置問題。
注:該項目正處於開發初期階段。
Hibernate OGM允許使用Hibernate API驅動的NoSQL technoloqies。
請考慮將其標記這是維基。 (以目前的形式,有接近的選票)。 – Jayan