<many-to-one name="status" column="status_id" 
class="com.server.model.CustomerModel"> </many-to-one> 
这个要放到SET里面

解决方案 »

  1.   

    public class StatusModel implements Serializable{
    private Integer id;
    private String name; 
    private Set customers;
    }Customer映射文件:
    <many-to-one name="status" column="status_id"
    class="com.server.model.StatusModel"> </many-to-one>Status映射文件:
    <set name="customers" inverse="true">
         <key column="status_id" />
        <one-to-many class="com.server.model.CustomerModel" />
    </set>
    StatusModel是一方,CsutomerModel是多方,如果我没有理解错的话
    如果按照我上面说的配置,那么实现的是many2one双向关联 ^_^
      

  2.   

    单向??
    那么改这就好:
    Customer映射文件:
    <many-to-one name="status" column="status_id"
    class="com.server.model.StatusModel"/> 
      

  3.   

    楼上说的是双向关联,我知道,但我现在只需要单向关联。
    还有,我是用JBOSS FOR Eclipse开发的,会不会是这个工具开发HIBERNATE有什么BUG,或者和JBOSS有什么冲突,我刚刚在Customer表中添加了email varchar(64)属性,Customer类中加了String类型的eMail属性,也添加了set,get方法,在Customer映射文件里也加了<property name="eMail"/>,打包发布到JBOSS中,再运行,报以下异常:Could not find a getter for eMail in class com.server.model.CustomerModel
    我明明添加了get方法了啊,请高手帮忙!
      

  4.   

    感谢lingirl的红色字提醒,刚才太急打错了,
    换成
    <many-to-one name="status" column="status_id" 
    class="com.server.model.StatusModel"/>
    出现以下异常:
    Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javassist/util/proxy/MethodHandler
      

  5.   

    同我5楼发的帖子,我把eMail属性都改为email,包括修改的相应的set,get方法,其他什么都没动,就换了个异常:
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    受不了了,高手帮忙啊!!!
      

  6.   

    javassist.jar,你的JBOSS FOR Eclipse缺了这个包?
    同志这已经不是hibernate配置问题了
    To fix this problem replace the javassist.jar in your jbossIDE folder under \plugins\org.jboss.ide.eclipse.jdt.aop.core_1.1.2.GA with the newest version.
    没用过JBOSS,GOOGLE了一下发现了这段解决方案。把javassist.jar换个最新版本放进\plugins\org.jboss.ide.eclipse.jdt.aop.core_1.1.2.GA目录下看看,不知道你那有没有这样的目录啊,嘿嘿
      

  7.   

    哦,上面问题已解决,先只剩下一个问题,就是使用
    <many-to-one name="status" column="status_id"  
    class="com.server.model.StatusModel"/> 
    出现以下异常:
    Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javassist/util/proxy/MethodHandler我用的是EJB3,会不会是EJB3中的JAR包和HIBERNATE中的包冲突?
    请高手指点
      

  8.   

    呵呵,我的\plugins\org.jboss.ide.eclipse.jdt.aop.core_1.2.0.Beta2下有javassist.jar啊,如果是缺包的话那为什么用
    <one-to-one name="status"></one-to-one>就没有问题啊?
      

  9.   

    建议你看看这本书
    《深入浅出Hibernate》
      

  10.   

    http://forum.java.sun.com/thread.jspa?threadID=5113860&messageID=9387445
    你自己看看把。跟你类似的情况。刚才那段话就从这引的。
    等你逼到没路了,再考虑参照着把javassist.jar换成最新版本的试试好了
    总之我感觉已经不是hibernate配置映射问题了
    不再跟贴了,干我自己的活去。
      

  11.   

    感谢楼上提供的参考,我是这样解决的,根据楼上的建议,我将jboss中的javassist.jar替换掉了\plugins\org.jboss.ide.eclipse.jdt.aop.core_1.2.0.Beta2下的javassist.jar,结果另一个异常如下:org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer getProxy,经过多次调试,我在Customer的映射文件中加了lazy="false",就通过了,至于为什么,还不清楚,此问题好像只有jboss4.0.5版本才会有。