自动建表 属性填update 会报错的解决方法
hibernate入门学习时,JUnit单元测试时,报错
显示以下错误:
java.lang.ClassCastException: java.util.Collections$EmptyIterator cannot be cast to java.lang.Iterable
原因分析
1.我首先把
hibernate.cfg.xml配置文件代码:
<!-- 自动建表 -->
<property name="hibernate.hbm2ddl.auto">update</property>
中的update改为create,发现就可以正常运行了,但是这样就达不到想要的效果。因为我们想要的是,每次运行往里面添加数据,而不是先drop再重新创建。然后发现,create就可以运行,但是update就会报错。
2.后来查了一些别人的解决方法以后,说是方言设置有问题,但是我重新正确设置之后,还是update运行时会报错。
3.后来我把这句话,直接删掉,因为不写的时候,默认应该就是update,经过测试,效果是一样的。所以有遇到相同问题的童鞋们,可以把
hibernate.cfg.xml配置文件代码:
<!-- 自动建表 -->
<property name="hibernate.hbm2ddl.auto">update</property>
删掉该代码,大致不写的时候,就是默认是update。