问题描述
/*一级栏目类*/@Entity@Table(name="tb_biglb")publicclassBiglbBeanimplementsSerializable{privateintbgid;privateStringbgname;privateSet<SmlbBean>smlbs=newHashSet<SmlbBean>();@OneToMany(mappedBy="bglb",fetch=FetchType.EAGER)publicSet<SmlbBean>getSmlbs(){returnsmlbs;}....其他get()set()方法省略...
/*二级栏目类*/@Entity@Table(name="tb_smlb")publicclassSmlbBeanimplementsSerializable{privateintsmid;privateStringsmname;privateBiglbBeanbglb;....其他get()set()方法省略...@ManyToOne(cascade={CascadeType.ALL},fetch=FetchType.EAGER,targetEntity=BiglbBean.class)@JoinColumn(name="bglbid")publicBiglbBeangetBglb(){returnbglb;}
jsp输入页面一级栏目名称:<selectname="?"><c:iftest="${biglblist!=null}"><c:forEachitems="${biglblist}"var="bigs"><!--迭代取出列表中的Bean--><optionvalue="${bigs.bgid}"><!--绑定ID到选择值上-->${bigs.bgname}<!--显示对应的内容--></option></c:forEach></c:if></select>二级栏目名称:<inputname="smname"type="text"size="20"maxlength="20"/>问题:无论一级栏目选什么,在存入数据时,二级栏目中的外键映射总是null值,请教高手这个关联映射怎么做输入页面的问号处--<selectname="?">填写什么?该填写什么才能绑定
解决方案
解决方案二:
没人回答么?
解决方案三:
该回复于2010-11-22 10:44:32被版主删除
解决方案四:
我以前写的不过布置直接写的annotation写的是XML/***文章栏目类**@authorsunshine**/publicclassColumn{/***栏目ID*/privateintid;/***所属的父栏目*/privateColumnparentColumn;/***栏目名称*/privateStringcolumnName;/***栏目是否可用0--不可用1--可用*/privateintcolumnStatus;/***子栏目列表*/privateSetsubColumns;略}
<?xmlversion="1.0"?><!DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mappingpackage="com.sunshine.model"><classname="Column"table="t_column"><cacheusage="read-only"region="com.sunshine.model.Column"/><idname="id"column="column_id"><generatorclass="native"/></id><propertyname="columnName"type="string"column="column_name"/><propertyname="columnStatus"type="integer"column="column_status"/><many-to-onename="parentColumn"column="parent_column_id"/><setname="subColumns"lazy="false"inverse="true"order-by="column_id"><keycolumn="parent_column_id"/><one-to-manyclass="Column"/></set></class></hibernate-mapping>