首先你看下你的数据库连接对着没   看下SQLServer2000的架包导进来了没   

解决方案 »

  1.   

    could not initialize a collection: [cn.ncsimvpq.user.domain.User.role#ABCDEFGHIJKLMZYXWVUTSRQPON0123456782]; 
    role的映射有问题
    改为
    private Set role ;看看
      

  2.   

    权限这里一般来说都是用用户表,角色表,资源表来分别和2张中间表映射,形成one-to-many的关系,而且为什么要双向关联?就不怕一个数据删不好,几张表相关的数据都没了吗?
      

  3.   

    这个你放心,数据库连接这些基本的东西我还是会的,开始的时候,没有在hibernate的mapping中设置这种关联关系,纯粹是在代码中做这种逻辑的,获取一条信息后,根据其中的关联id字段再去查找其他的信息,都没有问题,但是这样做,代码就太复杂了
      

  4.   


    有的呀,多对多的关联当然要使用额外的表结构了呀,可能是我这里没有明却的单独提出,你没看到罢了,
    两个关联表是:emcl_user_role,emcl_role_permission;基本表是:user、role、permission
      

  5.   

    SQLServer 2000 Driver for JDBC]Value can not be converted to requested type数据回来的时候有不识别的类型
    你看看你的配置文件多对多的时候是否写错类型
    从你帖上来文件我没看出问题
    我在看看
      

  6.   

    恩,我现在只能全都改成set了,网上好多资料也都是set做的,list都没有,用set我试过了,没问题
      

  7.   

    我把所有的List都改成Set了,这样是对了,可是谁能跟我说下多对多中,List和Set的区别呢,配置的时候哪里要注意,因为我感觉二者差不多啊
      

  8.   

    javaEye里面有人说,他的java文件中用的是private List XXX,然后在配置中写的是set ,我有点头大了
      

  9.   

    我从来都是用的SET,没用过LIST,
    SET取出来无重复数据
    请问楼主能说明下<index column="id"> </index> 
    的含义吗
    我只知道<list-index>这个
      

  10.   

    额看书和资料是这么写的,因为list要一个索引,所以要这个index,但是感觉和你那个很像的么
      

  11.   

    连接数据库都还没连上吧
    看看你的驱动包
    sql2000要打补丁
      

  12.   

    hello各位,问题解决了,先把代码发上来,java文件不变,还是list类型,但是配置文件改了,所以只发配置文件user.hbm.xml<bag name="role"
         table="emcl_user_role"
         inverse="true"
         cascade="all"
         lazy="false">
         <key column="user_id"></key>
         <many-to-many  class="cn.ncsimvpq.role.domain.Role" column="role_id"/>
    </bag>role.hbm.xml<bag name="user"
         table="emcl_user_role"
         lazy="false">
         <key column="role_id"></key>
         <many-to-many class="cn.ncsimvpq.user.domain.User" column="user_id"/>
    </bag>
    <bag name="permission"
         table="emcl_role_permission"
         inverse="true"
         cascade="all"
         lazy="false">
         <key column="role_id"></key>
         <many-to-many class="cn.ncsimvpq.permission.domain.Permission" column="permission_id"/>
    </bag>permission.hbm.xml<bag name="role"
         table="emcl_role_permission"
         lazy="false">
         <key column="permission_id"></key>
         <many-to-many  class="cn.ncsimvpq.role.domain.Role" column="role_id"/>
    </bag>解释:
    映射文件中用Bag类型,在实体类中是可以对应List的。 
    对于List(Bag映射),可以指定order-by排序字段,并不需要index列。 就是说,hibernate映射文件中的list类型,不是实体类中的List类型,因此当我们在java文件中配置List类型的变量时,在hibernate映射文件中实际上应该对应Bag映射。但是hibernate自己在映射文件中又有一个list(注意,小写的list)的元素,导致我们以为二者是对应的,这是错误的,不存在这样的对应关系。参考资料:http://www.javaeye.com/topic/70414?page=1
    重点是看第二页,从一个叫“robbin ”的人开始,到第二页结尾,受益匪浅
      

  13.   

    呵呵,楼主很厚道,学习了!
    知道有BAG,却一直没用过。。
      

  14.   

    在做一对多单向关联的时候,我在mapping中用的是list,没有问题,但是多对多双向的时候,确有问题,扩展下说,谁能解释下,hibernate中所有的映射类型,除了list、set、bag我们经常接触到的,mapping中其实还有很多其他的类型,要学习hibernate,配置很重要,还望高人指教,或者解释,或者提供相关文章链接,先谢过了!
      

  15.   

    http://blog.sina.com.cn/s/blog_5a67fbaa0100cq5b.html
    这个你参考