2013-12-11 30 views
1

我很好奇这个错误休眠MappingException在java中

org.hibernate.MappingException: Unknown entity: xyz

我是新来的冬眠。欢迎任何建议。提前致谢。

+1

xyz – gks

+0

的名称中没有实体类显示代码好友。 –

+0

显示一些代码真的有帮助。错误很简单,正如@Gk指出的那样,但是如果你需要帮助修复它,请尝试发布一些代码 –

回答

2

Hibernate将您的数据库表映射到您创建的项目中的类。为了使用这些类加载和更新数据库中的值,您需要告诉Hibernate哪些类映射到哪个表。这是hibernate配置文件和Hibernate映射文件进入图片的地方。

映射可以使用注释或使用映射文件完成,并将映射文件名包含在休眠配置文件中。

阅读here了解有关在开始运行项目之前设置环境的初始步骤的更多信息。

+0

哎亲爱的,谢谢...问题解决了 –

+0

不客气 – Adarsh

0

@Entity放在你的班级里。

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


} 
+0

嗨,有必要把@Table(name =“tableName”), –

+0

如果类名不匹配数据库表姓名 –

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描述符进行映射。

其他可能性是您的映射是正确的,但您既没有明确列出hibernate.cfg.xml文件中的xyz也没有启用自动检测实体。

如上所述,没有看到一些实际的代码,真的很难给出明确的答案。