你在改成联合主键后,是不是在配置文件中也该了???
而且java类一定要实现java.io.Serializable接口,
还要重新定义equals()和hashcode()方法

解决方案 »

  1.   

    已经找到问题了,果然是hibernate的版本问题。是我在数据库表的映射xml文件里把dtd的版本定义错了,我用的是hibernate2.0的包,但配置文件里的dtd定义是3.0。但为什么开始设成单主键的时候没出这个错我还是不清楚。对hibernate 内部映射方式及2.0和3.0的区别确实不清楚。
    但现在又出现新的问题了,报错:
    path expression ends in a composite value: tblsyoubat0_ [select c from ZinziKanri.Data.Model.TblSyoubatu as c where c=c  and c.syaincd='001']
    看来还是联合主键有问题。谁知道是什么错啊 ?