How To Develop Org.Hibernate.Mappingexception: Unknown Entity Exception Inwards Java
If y'all accept used Hibernate amongst JPA as well as using musical note to declare your entity edible bean as well as therefore y'all mightiness accept seen this confusing mistake called "org.hibernate.MappingException: Unknown entity". This mistake message is therefore misleading that y'all could easily lose anywhere betwixt few minutes to few hours looking at wrong places. I was using Spring iii as well as Hibernate 3.6 when I got this error,which occurs when addEntity() method was executed. I checked everything, from Spring configuration file applicationContext.xml, Hibernate config file, my Entity course of education as well as DAO class to come across whether my Entity course of education is annotated or not, exactly I was even therefore getting this mistake message. After or therefore goggling I eventually uncovering that, it was an wrong import which was causing this error.
Both hibernate as well as JPA has @Entity musical note as well as or therefore how Eclipse was automatically importing org.hibernate.annotations.Entity instead of javax.persistence.Entity annotation. Once I fixed this import issue, everything went smooth.
Unfortunately, this mistake is non slow to spot, the org.hibernate.annotations.Entity import seemed completely appropriate to many programmers. For a newbie Java or hibernate developer it’s actually difficult to sympathize which Entity musical note to use, shouldn't move inwards org.hibernate.annotations.Entity, exactly instead it's javax.persistence.Entity.
By the way, if y'all are using auto-complete functionality of Eclipse IDE, as well as therefore y'all tin blame it them, alternatively y'all tin configure your preferred import inwards Eclipse.
Version : Spring iii as well as Hibernate 3.6
Cause : Incorrect import for @Entity annotation, My entity course of education was incorrectly annotated past times org.hibernate.annotations.Entity musical note rather than javax.persistence.Entity, which comes amongst JPA.
Solution : Use javax.persistence.Entity to annotate your entity beans. Don't import org.hibernate.annotations.Entity
package or wrong import of @Entity annotation. Another fact, which contribute to this mistake is similar/same names used past times JPA as well as hibernate. The org.hibernate.annotations existed earlier JPA 1. JPA directly exists as well as for novel projects, y'all belike desire to exercise it's annotations, though annoyingly they are oftentimes subtly different. It could accept been amend had the JPA folks could accept used novel names as well as they did inwards or therefore cases, exactly the hibernate annotations, iv years quondam earlier JPA1 came out were logical names.
Both hibernate as well as JPA has @Entity musical note as well as or therefore how Eclipse was automatically importing org.hibernate.annotations.Entity instead of javax.persistence.Entity annotation. Once I fixed this import issue, everything went smooth.
Unfortunately, this mistake is non slow to spot, the org.hibernate.annotations.Entity import seemed completely appropriate to many programmers. For a newbie Java or hibernate developer it’s actually difficult to sympathize which Entity musical note to use, shouldn't move inwards org.hibernate.annotations.Entity, exactly instead it's javax.persistence.Entity.
By the way, if y'all are using auto-complete functionality of Eclipse IDE, as well as therefore y'all tin blame it them, alternatively y'all tin configure your preferred import inwards Eclipse.
Error :
Exception inwards thread “main” org.hibernate.MappingException: Unknown entity: Person at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:580) at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1365) at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:121) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210) at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195) at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93) at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:562) at org.hibernate.impl.SessionImpl.save(SessionImpl.java:550)
Version : Spring iii as well as Hibernate 3.6
Cause : Incorrect import for @Entity annotation, My entity course of education was incorrectly annotated past times org.hibernate.annotations.Entity musical note rather than javax.persistence.Entity, which comes amongst JPA.
Solution : Use javax.persistence.Entity to annotate your entity beans. Don't import org.hibernate.annotations.Entity
Further Learning
answer)
Thanks for reading this article, if y'all similar this article as well as interview interrogation as well as therefore delight portion amongst your friends as well as colleagues. If y'all accept whatever interrogation or feedback as well as therefore delight driblet a comment.
Komentar
Posting Komentar