Получение ошибки спящего объекта - PullRequest
0 голосов
/ 27 марта 2011

Я использую приложение hibernate весной.но из-за какой-то проблемы я не могу использовать инжекцию пружины, поэтому мне нужно вручную объявить фабрику сеансов, как показано ниже

SessionFactory sessionFactory = new AnnotationConfiguration()
        .configure("com/vaannila/service/hibernate.cfg.xml")
        .buildSessionFactory();

          Session session = sessionFactory.openSession();
          Registration person = (Registration) session.get(Registration.class, 1);

Поскольку я использую аннотацию в классе сущностей, я получаю следующую ошибку

org.hibernate.MappingException: Unknown entity: com.vaannila.domain.Registration



<?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>
    <!-- We're using MySQL database so the dialect needs to MySQL as well-->
    <property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
    <!-- Enable this to see the SQL statements in the logs-->
    <property name="show_sql">true</property>
    <!-- This will drop our existing database and re-create a new one.
            Existing data will be deleted! -->
    <property name="hbm2ddl.auto">update</property>
  <mapping class="com.vaannila.domain.Country" />


  </session-factory>
</hibernate-configuration>

Ответы [ 3 ]

0 голосов
/ 27 марта 2011

Убедитесь, что ваш класс регистрации правильно помечен "javax.persistence.Entity".Я просто проверяю, у меня были те же проблемы, когда я это пропустил.

    import javax.persistence.Entity;


    @Entity
public class Registration{ 
}
0 голосов
/ 27 марта 2011

Другая причина может заключаться в том, что ваш класс не указан в hibernate.cfg.xml:

<mapping class="your.package.Registration"/>

Лично я не нашел способа принудительно использовать автономные аннотации сканирования объектов Hibernate, поэтому у меня довольно большой списокотображения внутри.

0 голосов
/ 27 марта 2011

Это может быть связано с неправильной записью FQCN для класса Registration или, возможно, у вас

import javax.persistence.Entity;

вместо

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