有一些流行的框架,比如MyBatis(以前的iBatis)和Hibernate,可以使用关系数据库。
我是否可以从社区获得一些建议,NoSQL数据库是否有这样的框架?即MongoDB和CouchDB?
我在Theserverside.com上看到了JavATE的一些提及,这有类似之处吗?
非常感谢。
答案 0 :(得分:2)
答案 1 :(得分: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方式。
答案 2 :(得分:0)
我刚刚推出了一个名为spring-data-gremlin的新Spring-Data项目,旨在实现这一目标。它使用JPA注释映射到任何Tinkerpop蓝图nosql数据库(OrientDB,TitanDB现在实现)。这意味着在任何蓝图nosql数据库之间切换应该是配置问题。
注意:项目处于早期开发阶段。
答案 3 :(得分:0)
Hibernate OGM允许使用Hibernate API来驱动NoSQL技术。