我是一个休眠新手,我在尝试持久化对象时收到此错误 -
错误 - >未知实体:org.apache.struts.register.model.Event
在我hibernate.cfg.xml,我将我的映射定义为,
<mapping class="org.apache.struts.register.model.Event"/>
我的活动课 -
package org.apache.struts.register.model;
import org.hibernate.annotations.Entity;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.GeneratedValue;
import javax.persistence.Table;
@Entity
@Table (name="event")
public class Event {
@Id
@GeneratedValue ( strategy = GenerationType.AUTO)
private int eventId;
private String eventName;
private String eventDescription;
public String getEventName() {
return eventName;
}
public void setEventName(String eventName) {
this.eventName = eventName;
}
public String getEventDescription() {
return eventDescription;
}
public void setEventDescription(String eventDescription) {
this.eventDescription = eventDescription;
}
public String toString(){
return this.eventName + "," + this.eventDescription;
}
}
Run Code Online (Sandbox Code Playgroud)
EventDAO -
package dao;
import org.apache.struts.register.model.Event;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
public class EventDAO {
public static boolean registerEvent(Event u) {
SessionFactory sf = HibernateUtil.getSessionFactory();
Transaction t = null;
try {
Session s = sf.openSession();
t = s.beginTransaction(); // start a new transaction
s.persist(u);
t.commit(); // commit transaction
return true;
}
catch(Exception ex) {
System.err.println("Error -->" + ex.getMessage());
if ( t!=null) t.rollback(); // rollback transaction on exception
return false;
}
}
}
Run Code Online (Sandbox Code Playgroud)
System.err.println("Error -->" + ex.getMessage()),是抛出异常的行.
谢谢.
import org.hibernate.annotations.Entity;
Run Code Online (Sandbox Code Playgroud)
hibernate @Entity不足以让你的实体被发现.请javax.persistence.Entity改用.
看到这里:
@ javax.persistence.Entity仍然是强制性的,@ org.hibernate.annotations.Entity不是替代品.