Ошибка отображения спящего режима - неизвестный объект - PullRequest
0 голосов
/ 01 декабря 2010

Я новичок в спящем режиме, и я получаю эту ошибку при попытке сохранить объект -

Ошибка -> Неизвестный объект: 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;
 }

}

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;
         }
    }
}

System.err.println("Error -->" + ex.getMessage()), строка, которая выдает исключение.

Спасибо.

Ответы [ 2 ]

5 голосов
/ 01 декабря 2010
import org.hibernate.annotations.Entity;

Спящий режим @Entity недостаточно для раскрытия вашей сущности.Вместо этого используйте javax.persistence.Entity.

См. Здесь :

@javax.persistence.Entity по-прежнему обязательно, @ org.hibernate.annotations.Entity незамена.

1 голос
/ 01 декабря 2010

Ошибка означает, что Hibernate не знает о org.apache.struts.register.model.Event;так что либо ваш файл конфигурации имеет ошибку, либо Hibernate не загружает файл (возможно, он находится не в том месте, или есть два файла с одинаковым именем или что-то подобное).

Включить ведение журнала на уровне DEBUG, чтобыпосмотрите, какие файлы загружает Hibernate и какие типы он отображает.

Также не используйте System.err.println("Error -->" + ex.getMessage());;это скрывает много полезной информации.Вместо этого используйте ex.printStackTrace() для отладки и log.error("Can't register event "+u, ex), если планируете сохранить вывод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...