Java [Hibernate]错误:找不到实体类:
我已经厌倦了很久了。我不知道是什么导致了这个错误。这是我的档案: Uzytkownik.hbm.xmlJava [Hibernate]错误:找不到实体类:,java,mysql,eclipse,hibernate,Java,Mysql,Eclipse,Hibernate,我已经厌倦了很久了。我不知道是什么导致了这个错误。这是我的档案: Uzytkownik.hbm.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.n
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="Uzytkownik" table="uzytkownicy">
<id column="id" name="id" type="int"/>
<property column="login" generated="never" lazy="false" name="login" type="string"/>
<property column="haslo" generated="never" lazy="false" name="haslo" type="string"/>
</class>
</hibernate-mapping>
Uzytkownik.java:
package com.vaannila.uzytkownik;
// default package
// Generated 2011-07-14 13:39:18 by Hibernate Tools 3.4.0.CR1
/**
* Uzytkownik generated by hbm2java
*/
public class Uzytkownik implements java.io.Serializable {
private int id;
private String login;
private String haslo;
public Uzytkownik() {
}
public Uzytkownik(int id) {
this.id = id;
}
public Uzytkownik(int id, String login, String haslo) {
this.id = id;
this.login = login;
this.haslo = haslo;
}
public int getId() {
return this.id;
}
public void setId(int id) {
this.id = id;
}
public String getLogin() {
return this.login;
}
public void setLogin(String login) {
this.login = login;
}
public String getHaslo() {
return this.haslo;
}
public void setHaslo(String haslo) {
this.haslo = haslo;
}
}
HibernateUtil.java:
package com.vaannila.util;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
sessionFactory = new Configuration().configure().buildSessionFactory();
} catch (Throwable ex) {
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
可能您的映射文件不完整,但从其他方面看,应该是:
<class name="com.vaannila.uzytkownik.Uzytkownik" table="uzytkownicy">
=>需要设置完全限定的类名(带包)我认为指定完全限定的实体类名是有意义的:
<class name="com.vaannila.uzytkownik.Uzytkownik" table="uzytkownicy">
别忘了提到您的类在hibernate配置文件中使用映射标记作为实体类使用 例如:
<session-factory>
//database configeration goes here
<mapping class="org.fbis.models.Form3A"/>
</session-factory>
//这里是数据库配置
Stijn Geukens回答正确,但我想指出有关这个问题的更多信息
我知道导致此问题的原因有两个:找不到实体类
is
开头。否则,当通过Java调试模式或运行模式运行时,hibernate会抛出一个异常getter方法未找到…
。但是当涉及web项目时,您作为服务器应用程序运行项目时,消息变成实体类未找到
。这让我困惑了很长一段时间。因此不要在前面用is
命名布尔字段
<class name="com.vaannila.uzytkownik.Uzytkownik" table="uzytkownicy">
<class name="com.vaannila.uzytkownik.Uzytkownik" table="uzytkownicy">
<session-factory>
//database configeration goes here
<mapping class="org.fbis.models.Form3A"/>
</session-factory>