是否有基于REST的JPA提供程序?

时间:2012-05-24 00:23:53

标签: rest jpa provider

常见的要求是通过REST访问JPA DataSource。我想要相反的,即通过向RESTful持久性服务发送HTTP请求来工作的JPA提供程序。这样做的好处是,针对JPA API编写的任何应用程序都可以轻松地在传统的JPA提供程序(例如Hibernate)和基于REST的JPA提供程序之间切换,而无需更改代码。

所以我的问题是,是否存在基于REST的JPA提供程序,如果没有,这样的事情是否可行?

3 个答案:

答案 0 :(得分:1)

首先,JPA真的是为关系数据库而设计的......

其次,RESTful持久性没有标准,因此JPA-REST提供程序将特定于该REST持久性应用程序。

可以使用EclipseLink-EIS实现某些功能。您只需要创建JCA_RestAdapter实现。

如果你的意思是“RESTful持久性服务”,那么你的意思是NoSQL数据库之一。其中一些NoSQL DB提供基于REST的接口,一些JPA提供程序开始支持NoSQL DB。请参阅http://wiki.eclipse.org/EclipseLink/FAQ/NoSQL

老实说,你最好只是实现DAO模式并抽象你的CRUD(L)操作。这正是DAO的用途。

答案 1 :(得分:1)

Datanucleaus在RESTful json API上有一个JPA实现。但是,您的REST API必须遵守其约定:http://www.datanucleus.org/products/accessplatform_3_0/json/support.html

他们的S3和GoogleStorage扩展了json API。

编辑:在我的原始答案中输入错误产品的链接。

答案 2 :(得分:0)

有几种选择。例如,看看“JEST”:

  

https://www.ibm.com/developerworks/mydeveloperworks/blogs/pinaki/entry/rest_and_jpa_working_together71?lang=en

     

REST不是API(应用程序编程接口)。它是一个   建筑风格,规定没有API访问   服务设施。

     

...

     

无状态频谱的另一端是原则   JEE应用程序服务器 - 服务器维护状态   一切都存在一个(或多个)API。这样   以服务器为中心,有状态,面向API的JEE原则导致   几个障碍。

     

...

     

我发现REST原则简洁而优雅。我也找到了Java   Persistence API(JPA)提供程序在标准化方面做得很好   并合理化经典的物体 - 关系阻抗不匹配。   JPA经常被误解为仅仅是JDBC的替代品 - 但确实如此   不仅仅是JDBC,甚至不仅仅是对象关系映射   (ORM)。 JPA是一种查看和更新​​关系数据的有力方法   对象图。也是核心JPA概念,如分离交易或   可定制的闭包或持久的身份似乎整齐   与REST原则保持一致。

更多链接: