org.hibernate.MappingException:尝试保存POJO时的未知实体

时间:2014-11-27 05:29:59

标签: exception mapping entity pojo

当我调用将实体保存到数据库的方法时,我收到以下错误。

ERROR: org.aggu.sramam.exceptions.SramamException - Exception thrown:
org.hibernate.MappingException: Unknown entity: org.aggu.sramam.pojo.SramaSangham
                at org.hibernate.internal.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:1096)
                at org.hibernate.internal.SessionImpl.getEntityPersister(SessionImpl.java:1443

包中有POJO对象,我的hibernate-cfg.xml文件中也有以下条目

<hibernate-configuration>
<!--  List out the entities (i.e POJO linked to DB table) here -->
<session-factory>
<mapping class="org.aggu.sramam.pojo.SramaSangham" />
</session-factory>     
</hibernate-configuration>

下面是servlet-config.xml文件中的条目,该文件提供了代码库链接

<!-- The below is the base package for all Sramam apps -->
<context:component-scan base-package="org.aggu.sramam" />

我错过了什么?我在POJO对象中添加了@ Entity,@ Table,@ Id标签等。有一个Unqiue ID列(主键),但我没有编写任何显式代码来自动生成ID。这会有问题吗?

1 个答案:

答案 0 :(得分:1)

好。我自己搞清楚了。问题是在我的servlet-context.xml文件中,我没有给hibernate.cfg.xml提供引用/链接。一旦给出,错误得到解决,记录开始插入。

<beans:bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<beans:property name="dataSource" ref="dataSource" />
<beans:property name="hibernateProperties">
<beans:props>
<beans:prop key="hibernate.show_sql">true</beans:prop>
<beans:prop key="hibernate.hbm2ddl.auto">create</beans:prop>
<beans:prop key="hibernate.dialect">${jdbc.dialect}</beans:prop>
</beans:props>
</beans:property>
**<!- This line did the trick -->
<beans:property name="configLocation">
<beans:value>WEB-INF/classes/hibernate.cfg.xml</beans:value>
</beans:property>**
</beans:bean>