JPA的@Table与Hibernate自己的@Table的关系 Hibernate是实现了JPA定义。在使用注解的时候,会有JPA的Table,也有Hibernate的Table,两者是什么关系呢?是接口与实现的关系吗?还是父类与子类的关系? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这2个是相互独立的,以hibernate3.5.5为例,如果你要使用hibernate自带的table注解,引入import org.hibernate.annotations.Table;这个类就可以了,这个类在hibernate3.jar中而如果你要使用hibernate jpa的table注解,引入import javax.persistence.Table;这个类,这个类位于hibernate-jpa-2.0-api-1.0.0.Final.jar中 Hibernate不是实现了JPA的规范么?那对于这里的注解来讲有什么影响?有的资料上说,要用jpa的Table,如果用Hibernate的Table可能会出现莫名其妙的错误。 可能你理解有点问题,hibernate是实现了JPA规范,在你使用hibernate框架的时候,你引入了hibernate3或者4这个核心包,hibernate-jpa-2.0-api-1.0.0.Final.jar这个包的作用是hibernate jpa实现。注解的选择,建议你采用hibernate jpa,为什么呢,如果你要把你的代码移植到其他框架,比如EJB中,那么你可以不修改任何一句代码,就能实现很好的移植。至于你说的hibernate 的table可能会出现莫名其妙的错误,这个我不清楚,我基本都采用hibernate jpa。 还有,就是JPA仅仅是规范,而自身没有统一的Jar包么?比如说JDBC,虽然有各个数据库厂商的实现,但是Java是有Connection等接口的。 我记得hibernate3.5以前的版本使用注解使用hibernate-annotations.jar以及ejb-persistence.jar。其实这里的ejb-persistence.jar和前面提到的hibernate-jpa-2.0-api-1.0.0.Final.jar功能一样,实现持久化功能。但hibernate-jpa-2.0-api-1.0.0.Final.jar在ejb-persistence.jar基础上新添了一些类,估计是hibernate官方对jpa的扩展。 这儿还有一个,package org.apache.commons.mvc.annotation;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;/** * 在实体类中注解标记该类和数据库表关联 * @version 2.0 */@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documentedpublic @interface Table { /** * 数据库表的名称 * @return String */ public String name(); }注解只能当做一个标记,和java反射配合使用各个@Table都各管各的,没有联系 jacob操作,如何将html格式的存入word中 各位老大,帮我看看。struts2 找不到 标签. jms设置Object类型消息的消息接收者属性 很急啊 帮下我 如何动态的连接oracle数据库 emf-sdo-runtime-2.0.0.zip哪里有下载 struts2上传图片问题 Tomcat5配制问题:我想http://localhost/就直接显示我编写的页面。请问怎么配制? 怎么把做好的jsp项目打成war包? javaweb项目native方法报linkerror 邮件内容解码 activeMQ 请求AjaxServlet 返回500
import org.hibernate.annotations.Table;这个类就可以了,这个类在hibernate3.jar中而如果你要使用hibernate jpa的table注解,引入import javax.persistence.Table;这个类,
这个类位于hibernate-jpa-2.0-api-1.0.0.Final.jar中
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;/**
* 在实体类中注解标记该类和数据库表关联
* @version 2.0
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Table { /**
* 数据库表的名称
* @return String
*/
public String name();
}
注解只能当做一个标记,和java反射配合使用
各个@Table都各管各的,没有联系