[英]If JPA is really only a specification, then how can we do?
在以下每个人的问题中
告诉我们JPA是规范,这是没有Eclipselink或Hibernate的抽象
JPA javax.persistence.sth对吗?
此外,我们可以使用诸如
javax.persistence.EntityManager.persiste javax.persistence.EntityManager.delete / remove
编辑
eclipselink和hibernate是否将自己的代码放入这些包,这些类中???
JPA是一个规范,许多实现者提供遵循该规范的实现。
因此,如果按原样使用JPA,则可以从一个或多个实现者中进行选择,并且它应该“即插即用”。 换句话说,您不必更改代码,因为实现将执行规范所承诺的工作。
---关于JPA和Hibernate之间的区别---
JPA是一个规范,但是Hibernate是一个实现。 如果您针对JPA编写代码,则可以轻松地在JPA兼容的实现之间进行更改; 但是,如果您针对Hibernate进行编写,则要进行更改,实际上需要重写数据库访问代码。
请注意,Hibernate还提供了一些JPA兼容性,如果您只使用Hibernate的JPA兼容部分,则您实际上是使用Hibernate提供的实现针对JPA编写的。
有一个进行JPA开发的秘诀,可以很好地防止编写非JPA(特定于实现)的代码。
JPA是Java持久性API,由JCP(Java社区流程)作为JSR(Java规范请求)发布。
这是一种规范; 换句话说,例如接口,不包含任何实现。
每个对此规范感兴趣的供应商(实施者)都需要按照规范文档中的说明进行实施。
这是示例JPA 2.0规范
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.