2011-04-19 57 views
9

我正在嘗試使用最新的hibernate創建一個基本的hibernate實體POJO,並且我添加了從休眠網站下載的必需jar文件。我在使用hibernate註釋時遺漏了什麼?

的問題是當我添加行@Tabe(名稱= 「用戶」)

它抱怨編譯錯誤的:

The annotation @Table must define the attribute appliesTo

下面

全碼:

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項目。

預先感謝

回答

13

有兩組持久性註釋(@Entity@Table)的 - JPA註釋(在包javax.persistence)和Hibernate註釋(在包org.hibernate.annotations)。請注意,該示例使用JPA註釋,而您的代碼使用Hibernate註釋,所以您的代碼不會編譯,因爲這些註釋具有不同的屬性集。

因此,您需要更改import聲明中的包。

通常您應該使用JPA註釋,除非您需要僅由Hibernate註釋提供的某些功能。

+0

稀釋確定。有沒有關於如何在純粹的hibernate註釋中完成上述操作的例子? 我可以混合使用hibernate和jpa註釋嗎? I.e爲我的實體使用jpa註釋並使用Hibernate.cfg.xml來配置數據源? – jonney 2011-04-20 07:59:48

+0

@jonney:參見http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html/。您可以根據需要混合使用Hibernate和JPA註釋。 – axtavt 2011-04-20 08:07:10

-2

appliesTo是包含目標表中的名稱:

@Table(appliesTo="user") 
相關問題