日期:2014-05-18  浏览次数:20810 次

JPA的@Table与Hibernate自己的@Table的关系
Hibernate是实现了JPA定义。在使用注解的时候,会有JPA的Table,也有Hibernate的Table,两者是什么关系呢?是接口与实现的关系吗?还是父类与子类的关系?

------解决方案--------------------
我记得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)  
@Documented
public @interface Table {

/**
 * 数据库表的名称
 * @return String
 */
public String name();

}


注解只能当做一个标记,和java反射配合使用
各个@Table都各管各的,没有联系