表结构如下:
A : studentId, contentId,sex; studentId和contentId是联合主键;
B : courseId, roomId,contentId,courseId和roomId是联合主键,其中contentId是外键,参照A表。
Table A---->ABean
Table B---->BBeanhibernate的bean的config.xml中 compositeKey我已经完成配置,但是现在遇到的问题是:在DAO中调用(ABean)this.session.get(ABean.class,parameter)的时候总是报illegalArgumentException:object is not an instance of declaring class
请问各位大侠联合主键用hql直接获取对象的时候,并且带有one-to-many的情况,如何在DAO中处理compositeKey?给出思路即可。

解决方案 »

  1.   

    直接new一个compositeKey,给属性赋上值,把这个compositeKey,set到实体类中,就行了
      

  2.   


    啧。那个今天白天貌似想到了
    谢谢你了
    说实话,hibernate的联合主键机制确实让人不敢恭维太麻烦了,设置联合主键还要建一个联合主键类,太不方便了
      

  3.   


    啧。那个今天白天貌似想到了
    谢谢你了
    说实话,hibernate的联合主键机制确实让人不敢恭维太麻烦了,设置联合主键还要建一个联合主键类,太不方便了
    确实是说了为了安全啊 还是怎么着的,反正我也用明白了。就这么先凑合用吧,我感觉好麻烦啊。。时间全耗在这上了。哎 选错框架了额。但是又不会别的 好悲剧
      

  4.   

    用hibernate还是尽量避开用联合主键