自定义JPA实现//现有无SQL JPA实现

时间:2014-03-25 21:06:38

标签: java hibernate jpa orm nosql

背景

我最近一直在使用JPA,对于我能够轻松地为一个相当大的关系数据库项目生成持久层,我印象非常深刻。

我们公司使用了很多非sql数据库,特别是面向列的数据库。我有一些关于可能在这些数据库中使用JPA的问题:

问题

  1. JPA可以与NO-SQL数据库一起使用吗?按理说,如果框架可以生成SQL数据库的查询并映射结果,那么它可能可以合理地轻松地定制以生成不同类型的查询和不同的映射,例如,查询Hadoop可能吗?

  2. 如果可能,除了SQL之外,是否有任何现有的JPA实现?

  3. 在实施/扩展JPA方面有没有好的资源?我意识到必须在JPA中专门解决TSQL,PLSQL等问题,因此必须有一个我们可以操作的可扩展性机制。

2 个答案:

答案 0 :(得分:2)

有各种JPA实现支持(严重称为)" NoSQL"数据存储区集。我们发现最完整的DataNucleus也提供了更合适的JDO API。它支持MongoDB,Cassandra,HBase,AppEngine,LDAP,电子表格,Neo4j和其他一些

答案 1 :(得分:1)

根据你的问题,我遇到了Hibernate OGM,它代表Hibernate Object Grid Mapper,它为JPA(java Persistence api)提供了对NoSQL解决方案的支持。 Hibernate OGM 具有以下功能: -

  1. 将实体持久化为NoSQL
  2. 特定于数据存储的本机查询
  3. 使用Hibernate Search作为索引引擎的全文查询
  4. 我没有对这个框架OGM进行更多探索,但对于你的问题看起来非常有前景的解决方案。 您可以参考以下网址来了解 Hibernate OGM