联合主键配置时忽略的问题composite-id class must implement Serializable

运行程序报错:

Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xxxxDao' defined in file [D:\WorkSpace\xxx\xxx\webapp\WEB-INF\classes\com\xxx\xxx\xxx\config\spring-webmanage.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in URL [jar:file:/D:/WorkSpace/xxx/xxx/webapp/WEB-INF/lib/xxx.jar!/spring-base.xml]: Invocation of init method failed; nested exception is org.hibernate.MappingException:composite-id class must implement Serializable: com.xxx.xxx.xxx.pojo.Organization
 at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
 at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)

……

 

这一段中,最重要的错误提示是“composite-id class must implement Serializable:

是因为在映射文件.hbm.xml中定义为联合主键,即用<composite-id>

<composite-id>  

   <key-property name="pid" type="java.lang.String">  

         <column name="PID" />  

   </key-property>  

   <key-property name="cid" type="java.lang.String">  

         <column name="CID" />  

   </key-property>  

  </composite-id>

 

解决办法:

使用联合主键时,bean类必须序列化

import java.io.Serializable;

public classBean implements Serializable {

    private static final long serialVersionUID = 1L;

}

 


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值