使用annotation配置SSH2项目时,遇到这样的错误:
提示未知的实体。
可能的原因:
1、配置实体类时为@Entity导包时 错误的导入了 import org.hibernate.annotations.Entity
应该更改为import javax.persistence.Entity;
2、applicationContext.xml中配置实体扫描时路径出错,
比如:实体类存放在com.demo.entity包下,
则路径就要配为 <property name="packagesToScan" value="com.demo.*"/>
而不是 <property name="packagesToScan" value="com.demo.entity.*"/>
也就是说配置映射目录要比实际少一层。
或者直接使用
<property name="annotatedClasses">
<list>
<value>com.demo.entity.TUser</value>
......
</list>
</property>
指定相应的实体类(实体类较少时)。
3、其他未知原因 :( ~~
org.hibernate.MappingException: Unknown entity: com.jp.bean.TUser
at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:628)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:91)
at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:906)
at org.hibernate.impl.SessionImpl.get(SessionImpl.java:843)
at org.hibernate.impl.SessionImpl.get(SessionImpl.java:836)
at com.jp.dao.UserDao.getTUser(UserDao.java:31)
......
提示未知的实体。
可能的原因:
1、配置实体类时为@Entity导包时 错误的导入了 import org.hibernate.annotations.Entity
应该更改为import javax.persistence.Entity;
2、applicationContext.xml中配置实体扫描时路径出错,
比如:实体类存放在com.demo.entity包下,
则路径就要配为 <property name="packagesToScan" value="com.demo.*"/>
而不是 <property name="packagesToScan" value="com.demo.entity.*"/>
也就是说配置映射目录要比实际少一层。
或者直接使用
<property name="annotatedClasses">
<list>
<value>com.demo.entity.TUser</value>
......
</list>
</property>
指定相应的实体类(实体类较少时)。
3、其他未知原因 :( ~~