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" 应该就可以了!

 

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

 

自己的实例中

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

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

 

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值