在使用Struts2+Hibernate4+Spring3的时候发生了这样一个错误,
User not Mapped [from user...]
找了好长时间终于找到了错误的原因,在使用HIbernate的时候,要对实体类进行映射,
不映射在有与数据库进行交换内容的时候,就会发生这种找不到实体类的错误,解决办法如下:
在HIbernate的配置文件hibernate.cfg,xml文件中配置实体类映射:
方法一:如果使用的是每个实体类对应一个实体类的配置文件的形式,在hibernate的配置文件中应该写:
<mapping resource="com/hsm/domain/entity/Users"></mapping>
其中com/hsm/domain/entity表示的是项目中的包名(文件夹名)
方法二:在实体类中使用注解的形式,在hibernate的配置文件中:
<mapping class="com.hsm.domain.entity.Users" />
其中com.hsm.domain.entity是项目中的包名(硬盘中的文件夹名)
使用注解开发的好处:
(1)减少配置文件,当项目很多的时候,配置文件要很多,这样就增加了资源的使用,并且文件太多,不易于管理
(2)比如说spring的配置文件只有一个,大家都要修改同一个文件,造成每个人每次在commit(提交)时都需要花时间去同步,
--------------使用注解可以解决上面的麻烦,但是并不保证注解用着一定好用,要根据实际需要使用