• 欢迎访问梯云博客,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站点击访问
  • 站点的评论回复邮件可能会被邮箱放入垃圾邮件中,请注意哦~
  • 梯云博客近期增设了“电影资源”板块,在视频区域下边哦~
  • 梯云音乐上线,提供一站式的音乐下载平台,点击前往梯云音乐
  • 如果百度网盘下载速度过慢,可使用该工具~Proxyee-down 百度网盘不限速
  • 本站所有发布的信息以及产品,仅供学习研究使用;除有软件所有者授权外不得非法用于商业或其他用途。
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏梯云吧!

Struts2 获取对象对应的外键对象报错:ognl.NoConversionPossible

Hibernate 做棵大树 8个月前 (10-28) 245次浏览 0个评论

在 SSH 项目中定义了两个有关联的类,分别是公司和项目,其中公司和项目是一对多的关系,一个公司可以存在多个项目,然后在获取相关属性时候,会报错了:ognl.NoConversionPossible。

那先把代码奉上,然后再说一下为什么会报这个错误:

项目实体类:

package com.test.beans;

/**
 * BidProject entity. @author MyEclipse Persistence Tools
 */

public class Project implements java.io.Serializable {

	// Fields
	private String id;
	private Company company ;

	// Constructors

	/** default constructor */
	public BidProject() {
	}

	// Property accessors

	public String getId() {
		return this.id;
	}

	public void setId(String id) {
		this.id = id;
	}
	public Company getCompany () {
		return this.company ;
	}

	public void setCompany (Company company ) {
		this.company = company ;
	}
}

}

公司实体类:

package com.rocky.beans;


/**
 * Corporation entity. @author MyEclipse Persistence Tools
 */

public class Corporation implements java.io.Serializable {

	private String id;	//ID 生成器生成 ID 2
	private String name;	//前台自动填充 1
        public String getId() {
		return this.id;
	}

	public void setId(String id) {
		this.id = id;
	}
        public String getName() {
		return this.name;
	}

	public void setName(String name) {
		this.name = name;
	}
}

页面代码:

<s:iterator value="#session.allBidList" id="allBid">
    <s:property value="#allBid.getCorporation().getName()"/>
</s:iterator>

这是为什么呢? 因为在Hibernate反向生成 .hbm.xml 文件时,其中的 lazy 属性的问题,它默认是打开的,所以就会出现这种情况。

至于如何解决,则是找到 .hbm.xml 文件下对应的属性映射,然后修改其属性值

<many-to-one name="corporation" class="com.rocky.beans.Corporation" <span style="font-size: 12pt;"><strong>lazy="false"</strong></span> fetch="select">
         <column name="tenderer" not-null="true" />
 </many-to-one>

应在<many-to-one>标签中加入lazy=”false”属性,表示不使用懒加载方式即可解决问题。


TeenShare 梯云分享 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Struts2 获取对象对应的外键对象报错:ognl.NoConversionPossible
喜欢 (0)
[欢迎投币]
分享 (0)
关于作者:
一个整天无所事事的,有时候忽然热血的孩子
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址