可以肯定的是表结构和schema不一致并且在配置xml中一定有这个
<property name="hbm2ddl.auto">create</property>
改为update就ok了
hbm2ddl.auto属性及行为
create:表示启动的时候先drop,再create//
create-drop: 也表示创建,只不过再系统关闭前执行一下drop
update: 这个操作启动的时候会去检查schema是否一致,如果不一致会做scheme更新,根据model类生成表,即使表结构改变了,表中的行仍然存在,不会删除以前的行
validate: 启动时验证现有schema与你配置的hibernate是否一致,如果不一致就抛出异常,并不做更新 ,即会和数据库中的表进行比较,不会创建新表,但是会插入新值