JPA到底是神马

wangjicongqian 2012-04-11 08:52:07
没用过jpa,但是网上说jpa是hibernate的接口
我不明白了
接口?那怎么哪来的方法能拿来使用,没有实现怎么使用?
怎么都搞不明白
jpa到底是个神马玩意
...全文
218 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
monrove 2012-04-15
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

引用 11 楼 的回复:
jpa是java persisterence api,java持久化接口,注意,此接口不是我们写Interface接口的接口,两个不一样。

JPA是sun官方提供的共持久化对象使用的api,其他第三方orm工具必须使用它,去实现它,才能提供相应orm功能。

我还是有一点点不明白
意思是不是说jpa是sun官方的东西,向JDBC一样?
而其他orm工具……
[/Quote]
楼主要开发中是否有自己写过一些DAO的接口和实现类?如果有的话,咱可以这么比喻:
定义了一个接口:
public interface BaseDao{
public void save(.....);
public Object find(int id);
public void delete(int id);
.
.
.
.
}
然后又比如因为项目一些特殊原因,有些情况下需要Hibernate,有些情况下需要直接JDBC,于是又写了二个不同的实现类:
public class BaseDaoHibernateImpl implements BaseDao{
.
.
.
.
}

public class BaseDaoJdbcImpl implements BaseDao{
.
.
.
.
}

如此这般,这个BaseDao就相当于JPA了,它只定义了一套规范,具体这套规范怎么实现,那是BaseDaoHibernateImpl和BaseDaoJdbcImpl的事情。
wangjicongqian 2012-04-14
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]
jpa是java persisterence api,java持久化接口,注意,此接口不是我们写Interface接口的接口,两个不一样。

JPA是sun官方提供的共持久化对象使用的api,其他第三方orm工具必须使用它,去实现它,才能提供相应orm功能。
[/Quote]
我还是有一点点不明白
意思是不是说jpa是sun官方的东西,向JDBC一样?
而其他orm工具内部就是调用的jpa?
昨日凡阳 2012-04-12
  • 打赏
  • 举报
回复
jpa是java persisterence api,java持久化接口,注意,此接口不是我们写Interface接口的接口,两个不一样。

JPA是sun官方提供的共持久化对象使用的api,其他第三方orm工具必须使用它,去实现它,才能提供相应orm功能。
dxqrr 2012-04-12
  • 打赏
  • 举报
回复
JAVA EE中sun(oracle)提供的好多都是接口,即他们设计了一套规范,但是没有实现,交给具体的厂商去实现
比如hibernate就实现了JPA的接口
宁波朱超 2012-04-12
  • 打赏
  • 举报
回复
确实性能差,不过对于快速开发的项目来说可以做,做产品恐怕不适合了~~~
  • 打赏
  • 举报
回复
就是 JPA 嘛,Hibernate 是 JPA 的参考实现之一。

JPA 主要有三种不同的实现 EclipseLink, OpenJPA, Hibernate。

个人认为 Hibernate 的实现在性能上比较差。
ylovep 2012-04-12
  • 打赏
  • 举报
回复
纯“注解式”持久层 省去在hibernate配置文件中配置大量的映射文件 简单的一些注解就可以实现实体和数据库的映射关系
huangxw000 2012-04-12
  • 打赏
  • 举报
回复
JDBC也是一套接口,sun自己也不做实现,好像sun都是做定义规范,具体的实现交给厂商。
hackersun123 2012-04-12
  • 打赏
  • 举报
回复
JPA是sun公司为了使持久化结束百家争难,天下归一而出来的规范,所以只有接口没有实现,已经是J2EE5最新标准。
因为只有接口,这样就把实现的任务交给了各家公司,Hibernate有其实现,TopLink也有。
因为Hibernate用的比较多,所以基于Hibernate实现的JPA也用的最多(Hibernate-Jpa).
以后JPA会用的越来越多。类似的道理还有JSF(表现层规范)
monrove 2012-04-11
  • 打赏
  • 举报
回复
Java持久化API,实际是一套规范。
这么理解应该比较容易一点:
JPA类似于Java接口,Hibernate是该接口的实现类,还有另一个实现类叫TopLink。
当然,这么说可能不准确,但是容易理解。
无伤 2012-04-11
  • 打赏
  • 举报
回复
愿意是java持久化api,和hibernate作用一样,用来做对象和数据之久化的,一般ejb用的比较多
-AJ- 2012-04-11
  • 打赏
  • 举报
回复
注意jpa结尾是api,会不会帮助楼主加深理解。
成一粒 2012-04-11
  • 打赏
  • 举报
回复
直接就是使开发者从繁琐的JDBC和SQL代码中解脱出来。
具体的百度百科就可以知道

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧