2015-04-22 57 views
1

我在下面Exception.am使用Struts2休眠用於開發web應用程序。任何人都可以幫我解決這個問題嗎?如何解析「org.hibernate.MappingException:未知實體」錯誤?

org.hibernate.MappingException:未知實體:Pojo.USER [Packagename.entityClassname]


hibernate.cfg.xml文件內容: -

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE hibernate-configuration PUBLIC 
"-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 

<hibernate-configuration> 
<session-factory> 
<property name="dialect">org.hibernate.dialect.MySQLDialect</property> 
<property name="connection.driver_class">com.mysql.jdbc.Driver</property> 
<property name="connection.url">jdbc:mysql://localhost:3306/databasename 
</property> 
<property name="connection.username">root</property> 
<property name="connection.password">admin</property> 
<property name="cache.provider_class"> 
org.hibernate.cache.HashtableCacheProvider</property> 
<property name="transaction.factory_class"> 
org.hibernate.transaction.JDBCTransactionFactory</property> 
<property name="current_session_context_class">thread</property> 
<property name="hibernate.show_sql">false</property> 
</session-factory> 
</hibernate-configuration> 

USER's Entity Class conten T: -

package Pojo; 

import javax.persistence.Column; 
import javax.persistence.Entity; 
import javax.persistence.GeneratedValue; 
import javax.persistence.Id; 
import javax.persistence.Table; 

@Entity 
@Table(name="user") 
public class USER { 

    @Id 
    @GeneratedValue 
    @Column(name="USER_ID") 
    private int id; 

    @Column(name="USER_NAME") 
    private String name; 

    @Column(name="USER_PASSWORD") 
    private String password; 

    @Column(name="USER_GENDER") 
    private String gender; 

    @Column(name="USER_COUNTRY") 
    private String country; 

    @Column(name="USER_ABOUT_YOU") 
    private String aboutyou; 

    @Column(name="USER_MAILING_LIST") 
    private boolean mailinglist; 

    public int getId() { 
     return id; 
    } 

    public void setId(int id) { 
     this.id = id; 
    } 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 

    public String getPassword() { 
     return password; 
    } 

    public void setPassword(String password) { 
     this.password = password; 
    } 

    public String getGender() { 
     return gender; 
    } 

    public void setGender(String gender) { 
     this.gender = gender; 
    } 

    public String getCountry() { 
     return country; 
    } 

    public void setCountry(String country) { 
     this.country = country; 
    } 

    public String getAboutyou() { 
     return aboutyou; 
    } 

    public void setAboutyou(String aboutyou) { 
     this.aboutyou = aboutyou; 
    } 

    public boolean isMailinglist() { 
     return mailinglist; 
    } 

    public void setMailinglist(boolean mailinglist) { 
     this.mailinglist = mailinglist; 
    } 

} 
+0

在hibernate.cfg中聲明映射文件... Zealous

回答

1
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE hibernate-configuration PUBLIC 
"-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 

<hibernate-configuration> 
<session-factory> 
<property name="dialect">org.hibernate.dialect.MySQLDialect</property> 
<property name="connection.driver_class">com.mysql.jdbc.Driver</property> 
<property name="connection.url">jdbc:mysql://localhost:3306/databasename 
</property> 
<property name="connection.username">root</property> 
<property name="connection.password">admin</property> 
<property name="cache.provider_class"> 
org.hibernate.cache.HashtableCacheProvider</property> 
<property name="transaction.factory_class"> 
org.hibernate.transaction.JDBCTransactionFactory</property> 
<property name="current_session_context_class">thread</property> 
<property name="hibernate.show_sql">false</property> 
<mapping class="Pojo.User"> 
</session-factory> 

</hibernate-configuration> 

使用映射類,這樣的話Hibernate會知道你的實體類 - ><mapping class="Pojo.User">

1

USER實體是未知的,你的Hibernate會話。在session-factory配置中添加<mapping class="Pojo.USER"/>

... 
    <property name="current_session_context_class">thread</property> 
    <property name="hibernate.show_sql">false</property> 
    <mapping class="Pojo.USER"/> 
</session-factory> 
</hibernate-configuration> 
相關問題