org.hibernate.exception.SQLGrammarException: could not initialize a collection

hibernate异常:org.hibernate.exception.SQLGrammarException: could not initialize a collection [包名.实体类A.实体类B#1]

网上搜索到的答案发现基本就两个原因:

1,就是配置,

2,没有建表,当然建表某些方面跟配置还是有很大的关系的。

下面转载一些解决思路

<set name="news" inverse="true" cascade="delete" >

          <key column="****" not-null="true" > </key >
          <one-to-many class="*****"/ >
         </set >

 inverse="true" 改为inverse="false" 应该就可以了!

扫描二维码关注公众号,回复: 1289498 查看本文章

有一说是实体类缺少构造方法,但我的实体类中没有写明构造方法也是没有问题的。

自己的实例中

表A与表B是外键关联   一对多

由于之前有做过几乎类似的开发,对比发现配置完全没有问题,于是重新删除表B,重新手动建表,重启服务后发现不再报错,问题解决!

这个出错的原因也不知道是为什么,可能是之前建表对后来的一些操作有影响?因为很早就将该表建立好了,后来多次的修改了实体类的配置文件。反正后来这些删表重建之后又好了,希望能给人以思路解决问题。

 

猜你喜欢

转载自1259988502.iteye.com/blog/1893839