在使用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(提交)時都需要花時間去同步,
--------------使用註解可以解決上面的麻煩,但是並不保證註解用着一定好用,要根據實際需要使用