2013-12-11 3 views
1

Я любопытный об этой ошибкеHibernate MappingException в Java

org.hibernate.MappingException: Unknown entity: xyz

Я новичок в спящий режим. Любые предложения приветствуются. Заранее спасибо.

+1

Нет класса сущности от имени xyz – gks

+0

Показать код приятеля. –

+0

Показанный код действительно поможет. Ошибка проста, как отметил @Gk, но если вы хотите помочь исправить это, попробуйте опубликовать код –

ответ

2

Hibernate сопоставляет ваши таблицы DB с классами вашего проекта, которые вы создали. Чтобы загрузить и обновить значения в БД, используя эти классы, вам нужно указать, что класс Hibernate, который будет сопоставлен с этой таблицей. Здесь отображается файл конфигурации hibernate и файл сопоставления Hibernate.

Отображение может выполняться с помощью аннотаций или с помощью файла сопоставления и включать имя файла сопоставления в файл конфигурации hibernate.

Прочтите here для получения дополнительной информации об этих первоначальных шагах по настройке среды перед запуском проекта.

+0

эй, дорогая, спасибо ... проблема решена –

+0

Добро пожаловать – Adarsh

0

Путь @Entity в вашем классе.

@Entity 
@Table(name="tableName") 
public class XYZ { 


} 
+0

привет, необходимо поставить @Table (name = "tableName"), –

+0

Это необходимо, если имя класса не соответствует таблице DB имя –

0

вам необходимо проверить отображения при использовании HBM файлов, то проверьте вы включили то в конфигурации file.and при использовании аннотаций проверьте, если вы поставили правильный тип аннотаций. Более подробная информация необходима для обеспечения точного решения.

0
Dec 11, 2013 4:03:07 PM org.hibernate.annotations.common.Version <clinit> 
    INFO: HCANN000001: Hibernate Commons Annotations {4.0.2.Final} 

Dec 11, 2013 4:03:07 PM org.hibernate.Version logVersion 
INFO: HHH000412: Hibernate Core {4.2.8.Final} 
Dec 11, 2013 4:03:07 PM org.hibernate.cfg.Environment <clinit> 
INFO: HHH000206: hibernate.properties not found 
Dec 11, 2013 4:03:07 PM org.hibernate.cfg.Environment buildBytecodeProvider 
INFO: HHH000021: Bytecode provider name : javassist 
Dec 11, 2013 4:03:07 PM org.hibernate.cfg.Configuration configure 
INFO: HHH000043: Configuring from resource: /hibernate.cfg.xml 
Dec 11, 2013 4:03:07 PM org.hibernate.cfg.Configuration getConfigurationInputStream 
INFO: HHH000040: Configuration resource: /hibernate.cfg.xml 
Dec 11, 2013 4:03:07 PM org.hibernate.cfg.Configuration doConfigure 
INFO: HHH000041: Configured SessionFactory: null 
Dec 11, 2013 4:03:07 PM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure 
INFO: HHH000402: Using Hibernate built-in connection pool (not for production use!) 
Dec 11, 2013 4:03:07 PM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure 
INFO: HHH000115: Hibernate connection pool size: 20 
Dec 11, 2013 4:03:07 PM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure 
INFO: HHH000006: Autocommit mode: false 
Dec 11, 2013 4:03:07 PM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure 
INFO: HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost/testdb] 
Dec 11, 2013 4:03:07 PM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure 
INFO: HHH000046: Connection properties: {user=root, password=****} 
Dec 11, 2013 4:03:08 PM org.hibernate.dialect.Dialect <init> 
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect 
Dec 11, 2013 4:03:08 PM org.hibernate.engine.transaction.internal.TransactionFactoryInitiator initiateService 
INFO: HHH000399: Using default transaction strategy (direct JDBC transactions) 
Dec 11, 2013 4:03:08 PM org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory <init> 
INFO: HHH000397: Using ASTQueryTranslatorFactory 
Dec 11, 2013 4:03:08 PM org.hibernate.tool.hbm2ddl.SchemaExport execute 
INFO: HHH000227: Running hbm2ddl schema export 
Dec 11, 2013 4:03:08 PM org.hibernate.tool.hbm2ddl.SchemaExport execute 
INFO: HHH000230: Schema export complete 
org.hibernate.MappingException: Unknown entity: com.sanjay.UserDetails 
    at org.hibernate.internal.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:1145) 
    at org.hibernate.internal.SessionImpl.getEntityPersister(SessionImpl.java:1358) 
    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:683) 
    at org.hibernate.internal.SessionImpl.save(SessionImpl.java:675) 
    at org.hibernate.internal.SessionImpl.save(SessionImpl.java:671) 
    at com.sanjay.UserTest.main(UserTest.java:21) 
1

Я думаю, что вы, возможно, пытается сохранить/загрузить объект класса xyz, который не правильно переведенный с @Entity аннотацию. Любой класс, который вы хотите использовать с Hibernate, должен быть сопоставлен либо с аннотациями, либо с использованием дескриптора XML.

Другая возможность заключается в том, что ваше сопоставление корректно, но вы не указали явно xyz в файле hibernate.cfg.xml и не разрешили автоопределение объектов.

И, как уже упоминалось выше, без видимого фактического кода очень сложно дать окончательный ответ.

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