2014-02-11 4 views
1

Я использую аннотации, чтобы указать, что спящий режим этого класса является объектом entity.Item является сущностью. Но похоже, что Hibernate игнорирует мои аннотации.Hibernate: org.hibernate.MappingException: Неизвестный объект: entity.Item

Вопрос: Что я делаю неправильно?

hibernate.cfg.xml:

<!DOCTYPE hibernate-configuration PUBLIC 
     "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
     "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> 

<hibernate-configuration> 
    <session-factory> 
     <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property> 
     <property name="hibernate.connection.driver_class">org.postgresql.Driver</property> 
     <property name="hibernate.connection.username">postgres</property> 
     <property name="hibernate.connection.password">Volodumur6894834</property> 
     <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/UParserDB</property> 
     <property name="hibernate.current_session_context_class">thread</property> 
     <property name="connection_pool_size">1</property> 
     <property name="hbm2ddl.auto">create</property> 
     <property name="show_sql">true</property> 
     <mapping package="entity"/> 
    </session-factory> 
</hibernate-configuration> 

товара:

package entity; 

@Entity 
@Table(name = "Item") 
public class Item { 
    //.. 
} 

StackTrace:

Feb 11, 2014 5:57:38 PM org.hibernate.annotations.common.Version <clinit> 
INFO: HCANN000001: Hibernate Commons Annotations {4.0.1.Final} 
Feb 11, 2014 5:57:38 PM org.hibernate.Version logVersion 
INFO: HHH000412: Hibernate Core {4.2.1.Final} 
Feb 11, 2014 5:57:38 PM org.hibernate.cfg.Environment <clinit> 
INFO: HHH000206: hibernate.properties not found 
Feb 11, 2014 5:57:38 PM org.hibernate.cfg.Environment buildBytecodeProvider 
INFO: HHH000021: Bytecode provider name : javassist 
Feb 11, 2014 5:57:38 PM org.hibernate.cfg.Configuration configure 
INFO: HHH000043: Configuring from resource: /hibernate.cfg.xml 
Feb 11, 2014 5:57:38 PM org.hibernate.cfg.Configuration getConfigurationInputStream 
INFO: HHH000040: Configuration resource: /hibernate.cfg.xml 
Feb 11, 2014 5:57:38 PM org.hibernate.cfg.Configuration doConfigure 
INFO: HHH000041: Configured SessionFactory: null 
Feb 11, 2014 5:57:38 PM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure 
INFO: HHH000402: Using Hibernate built-in connection pool (not for production use!) 
Feb 11, 2014 5:57:38 PM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure 
INFO: HHH000115: Hibernate connection pool size: 20 
Feb 11, 2014 5:57:38 PM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure 
INFO: HHH000006: Autocommit mode: false 
Feb 11, 2014 5:57:38 PM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure 
INFO: HHH000401: using driver [org.postgresql.Driver] at URL [jdbc:postgresql://localhost:5432/UParserDB] 
Feb 11, 2014 5:57:38 PM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure 
INFO: HHH000046: Connection properties: {user=postgres, password=****, pool_size=1} 
Feb 11, 2014 5:57:38 PM org.hibernate.dialect.Dialect <init> 
INFO: HHH000400: Using dialect: org.hibernate.dialect.PostgreSQLDialect 
Feb 11, 2014 5:57:38 PM org.hibernate.engine.jdbc.internal.LobCreatorBuilder useContextualLobCreation 
INFO: HHH000424: Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException 
Feb 11, 2014 5:57:38 PM org.hibernate.engine.transaction.internal.TransactionFactoryInitiator initiateService 
INFO: HHH000399: Using default transaction strategy (direct JDBC transactions) 
Feb 11, 2014 5:57:38 PM org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory <init> 
INFO: HHH000397: Using ASTQueryTranslatorFactory 
Feb 11, 2014 5:57:38 PM org.hibernate.tool.hbm2ddl.SchemaExport execute 
INFO: HHH000227: Running hbm2ddl schema export 
Feb 11, 2014 5:57:38 PM org.hibernate.tool.hbm2ddl.SchemaExport execute 
INFO: HHH000230: Schema export complete 
Exception in thread "main" org.hibernate.MappingException: Unknown entity: entity.Item 
    at org.hibernate.internal.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:1141) 
    at org.hibernate.internal.SessionImpl.getEntityPersister(SessionImpl.java:1433) 
    at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:116) 
    at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:206) 
    at org.hibernate.event.internal.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:55) 
    at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:191) 
    at org.hibernate.event.internal.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:49) 
    at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:90) 
    at org.hibernate.internal.SessionImpl.fireSave(SessionImpl.java:764) 
    at org.hibernate.internal.SessionImpl.save(SessionImpl.java:756) 
    at org.hibernate.internal.SessionImpl.save(SessionImpl.java:752) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.hibernate.context.internal.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:352) 
    at com.sun.proxy.$Proxy4.save(Unknown Source) 
    at Main.main(Main.java:22) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) 

pom.xml:

<dependencies> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>4.2.1.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>postgresql</groupId> 
     <artifactId>postgresql</artifactId> 
     <version>9.1-901-1.jdbc4</version> 
    </dependency> 
</dependencies> 
+0

PLS положить StackTrace –

+0

@AbhinavKumar добавляемых satcktrace –

ответ

3

попытка изменение <mapping package="entity"/> к <mapping class="entity.Item"/> в вашем hibernate.cfg.xml

+0

Даже если это решит проблему, пользователь может захотеть, чтобы весь пакет vbe был отсканирован для сущностей, использующих . Он может выбрать для размещения всего своего объекта, который он создал используя аннотации и запрограммировать конфигурацию спящего режима для чтения из пакета –

+0

@Abhinav Kumar Просьба проверить http://stackoverflow.com/questions/1413190/hibernate-mapping-package –

Смежные вопросы