| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 903 人关注过本帖
标题:请教一个关于hibername的many-to-one的问题。
只看楼主 加入收藏
tidyboy1221
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-5-11
收藏
 问题点数:0 回复次数:3 
请教一个关于hibername的many-to-one的问题。
我定义了两各类:event ,location类。event包含了一个location类的对象
Event.hbm.xml的配置文件如下:
<class name="Event" table="events">
        <id name="id" type="java.lang.Integer">
            <generator class="increment"></generator>
        </id>
        <property name="name" type="java.lang.String"></property>
        <!--<property name="startDate" column="start_date" type="date"></property>  -->
        <property name="duration" column="duratiion" type="java.lang.Integer"></property>
        <property name="startDate" column="startDate" type="java.lang.String"></property>
        <many-to-one name="location" column="location_id" class="Location"></many-to-one>
</class>
Location.hbm.xml的配置文件如下
<class name="Location" table="locations">
        <id name="id" type="java.lang.Integer">
            <generator class="increment"></generator>
        </id>
        <property name="name" type="java.lang.String"></property>
        <property name="address" type="java.lang.String"></property>
</class>
问题是:当我持久化这两个类后,"location_id"字段为空,其他字段都很正常。请问这是怎么回事?
我感觉好像是配置文件好像少其他的配置语句。
我的测试类的内容如下:
                Configuration configuraton;
        SessionFactory sessionFactory;
        Session session;
        // 实例化Configuration
        configuraton=new Configuration().configure();
        // 实例化SessionFactory
        sessionFactory =configuraton.buildSessionFactory();
        // 实例化Session
        session = sessionFactory.openSession();
        Event event=new Event();
        Location location=new Location();
        event.setName("first");
        event.setStartDate("21-12月-83");
        event.setDuration(10);
        location.setName("china");
        location.setAddress("china");
        Transaction tx = session.beginTransaction();
                session.save(event);
        session.save(location);
        ();
        session.flush();
        session.clear();
搜索更多相关主题的帖子: hibername 
2008-09-13 18:32
恋轩念伊人
Rank: 5Rank: 5
来 自:湖南衡阳
等 级:贵宾
威 望:19
帖 子:643
专家分:0
注 册:2008-2-23
收藏
得分:0 
你把错误也写上拉,还有你的
Location.hbm.xml里面怎么没有<ont - to - many>

我不是一个随便的人,我随便起来不是人我哦。信不?
2008-09-14 15:56
恋轩念伊人
Rank: 5Rank: 5
来 自:湖南衡阳
等 级:贵宾
威 望:19
帖 子:643
专家分:0
注 册:2008-2-23
收藏
得分:0 
<generator class="increment"></generator>
这个我不是很明白,我们一般好象都是<generator class="native"></generator>

我不是一个随便的人,我随便起来不是人我哦。信不?
2008-09-14 15:57
tidyboy1221
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-5-11
收藏
得分:0 
谢谢各位。问题已经找到了。我没有在event对象中保存location对象,所以造成这样的问题。
我有点马虎、大意了。
2008-09-19 21:00
快速回复:请教一个关于hibername的many-to-one的问题。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014161 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved