关于hibernate 的问题

03-08-28 newpaul
问题 有三个对象 tracker , topic , message .tracker 和 topic 一对多,topic 和message 一对多;现在需要为 tracker 添加一个主题topic 的同时还要为这个topic添加一个message消息

tk =(Tracker)session.load(Tracker.class,trackerid);

Topic tp=new Topic();

tp.setTopicId(topicid);

tp.setTopicOwner(owner);

tp.setTitle(title);

tp.setTracker(tk);

tp.setState(-1);

tp.setCreatedBy("paul");

tp.setCreatedTime(new Date());

tp.setLastUpdate(new Date());

Message ms=new Message();

ms.setMessageId(new Integer(0));

ms.setCreatedTime(new Date());

ms.setCreatedBy("paul");

ms.setBody(message);

ms.setTopic(tp);

tp.getMessages().add(ms);

tk.getTopics().add(tp);

session.save(tp);

报错:

java.lang.NullPointerException

at com.beaconsystem.catseye3.actions.SaveTopicAction.execute(SaveTopicAction.java:101)

at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:465)

at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)

at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1422)

at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:523)

把message那一段 删除后 就可以添加topic 不知道那里不对

yehs220
2003-08-28 15:53
看你的ExceptionStack,根本就没到Hibernate一级呀。

newpaul
2003-08-28 17:58
我把message那段删除 就可以 但只是添加了 topic 没有添加 message

怎么会是java.lang.NullPointerException这个错

还有 一般Query 返回的是list 和 Iterator

如果 我在 Struts action 中request.setAttribute("userlist",list);

在jsp中<jsp:useBean id="userlist" scope="request" class="java.util.List"/>

他报错 大概就是说list 是个接口 不能实例

怎么把list 和 iterator 返回到jsp中 不会是要写个类包装一下吧,有没有其他方法

yehs220
2003-08-28 18:57
最好把mapping文件贴出来吧。

request.setAttribute("userlist",list);是没问题的。

newpaul
2003-08-28 20:34
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
    
<hibernate-mapping>

<!-- 
    Created by Middlegen Hibernate plugin

    http://boss.bekk.no/boss/middlegen/
    http://hibernate.sourceforge.net/
-->

<class 
    name="com.beaconsystem.catseye3.hibs.Message" 
    table="message"
>
    <id
        name="messageId"
        type="int"
        column="Message_ID"
    >
        <generator class="assigned" />
    </id>
    <property
        name="createdBy"
        type="java.lang.String"
        column="Created_By"
        not-null="true"
        length="11"
    />
    <property
        name="body"
        type="java.lang.String"
        column="Body"
        not-null="true"
        length="255"
    />
    <property
        name="createdTime"
        type="java.sql.Date"
        column="Created_Time"
        not-null="true"
        length="10"
    />

    <!-- associations -->
    <!-- bi-directional many-to-one association to Topic -->
    <many-to-one
        name="topic"
        class="com.beaconsystem.catseye3.hibs.Topic"
        not-null="true"
    >
        <column name="Topic_ID" />
    </many-to-one>

</class>
</hibernate-mapping>
<p>

猜你喜欢
4Go 1 2 3 4 下一页