我正在尝试使用最新的hibernate创建一个基本的hibernate实体POJO,并且我添加了从hibernate网站下载的必要jar文件。
问题是当我添加@Tabe(name =“user”)
这一行时它抱怨编译错误:
注释@Table必须定义 属性applyTo
以下完整代码:
package com.jr.entities.users;
import java.io.Serializable;
import org.hibernate.annotations.Entity;
import org.hibernate.annotations.Table;
@Entity
@Table(name = "user")
public class DAOuser implements Serializable{
private String uid;
private String emailAddress;
private String username;
private String password;
}
在此示例链接http://www.roseindia.net/hibernate/hibernateannotations/hibernate-annotations-tutorial.shtml中,它表示不需要applyTo值来设置?我错过了什么吗?我在eclipse J2ee中创建了一个简单的EJB3项目,如果有帮助的话。
提前致谢
答案 0 :(得分:15)
有两组持久性注释(@Entity
和@Table
) - JPA注释(在包javax.persistence
中)和Hibernate注释(在包org.hibernate.annotations
中)。请注意,该示例使用JPA注释,而您的代码使用Hibernate注释,因此您的代码无法编译,因为这些注释具有不同的属性集。
因此,您需要在import
语句中更改包。
通常你应该使用JPA注释,除非你需要一些仅由Hibernate注释提供的功能。
答案 1 :(得分:-1)
appliesTo
是包含目标表的名称:
@Table(appliesTo="user")