Hibernate中的懒加载异常

pengpeng11 2008-11-05 05:16:12
ERROR LazyInitializationException:19 - could not

initialize proxy - no Session

我把<many-to-one>端的lazay已经设为了false,怎么还出现这个异常啊,有会的教下我,谢谢
...全文
97 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengpeng11 2008-11-05
  • 打赏
  • 举报
回复
dao代码:

/**
* 根据任务ID查询
* @param task_id
* @return
*/
public Task get(int task_id)
{

return (Task)getHibernateTemplate().load(Task.class, task_id);
}


测试代码:

@Test
public void testSel()
{
Task t = dao.get(1);
System.out.println(t.getType()); //根据id来查询Task的相关信息时会有could not
initialize proxy - no Session 抛出

}


task.hbm.xml

<class name="com.om.fee.model.Task" table="task" catalog="om">
<id name="task_id" type="java.lang.Integer">
<column name="task_id" />
<generator class="native"></generator>
</id>
<property name="reason" type="java.lang.String">
<column name="reason" length="65535" />
</property>
<property name="type" type="java.lang.String">
<column name="type" length="30" />
</property>
<property name="start_time" type="java.util.Date">
<column name="start_time" length="10" />
</property>
<property name="end_time" type="java.util.Date">
<column name="end_time" length="10" />
</property>
<set name="fees" inverse="true">
<key>
<column name="task_id" not-null="true"/>
</key>
<one-to-many class="com.om.fee.model.Fee"/>
</set>
</class>


fee.hbm.xml

<class name="com.om.fee.model.Fee" table="fee" catalog="om">
<id name="fee_id" type="java.lang.Integer">
<column name="fee_id" />
<generator class="native"></generator>
</id>

<many-to-one name="task" column="task_id" class="com.om.fee.model.Task" not-null="true" lazy="false">
</many-to-one>
<property name="proposer" type="java.lang.String">
<column name="proposer" length="20" />
</property>
<property name="department" type="java.lang.String">
<column name="department" />
</property>
<property name="reason" type="java.lang.String">
<column name="reason" length="500" />
</property>
<property name="money" type="java.lang.Float">
<column name="money" precision="12" scale="0" />
</property>
<property name="actual_money" type="java.lang.Long">
<column name="actual_money" precision="12" scale="0" />
</property>
<property name="time" type="java.sql.Date">
<column name="time" length="10" />
</property>
<property name="approver" type="java.lang.String">
<column name="approver" length="10" />
</property>
<property name="note" type="java.lang.String">
<column name="note" length="500" />
</property>
</class>

task 和 fee是1:N关系
yol622 2008-11-05
  • 打赏
  • 举报
回复
你最好是把代码和调试结果拿出来看看

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧