ssh插入语句时报错 not-null property references a null or transient value

3个表 sku(商品表) breed(品牌表) variety(品种表) 插入商品时先查处 breed和variety里的主键和对应值放入两个下拉列表里 然后再添加 出现错误

jsp页面代码

<table>
<tr>
<td>商品名称: <html:text property="skuname"/><html:errors property="skuname"/><br/></td>
</tr>
<tr>
<td>商品简称: <html:text property="skuna"/><html:errors property="skuna"/><br/></td>
</tr>
<tr>
<td>商品品牌:
<select>
<c:forEach items="${blist}" var="bean">
<option value="${bean.breedid}">${bean.breedname}</option>
</c:forEach>

</select>
</tr>
<tr>
<td> 商品品种:<select>
<c:forEach items="${vlist}" var="bean1">
<option value="${bean1.varietyid}">${bean1.varietyname}</option>
</c:forEach>

</select></td>
</tr>
<tr>
<td><html:submit/><html:cancel/></td>
</tr>

</table>

部分sku.hbm.xml

<class name="com.yourcompany.pojo.Sku" table="sku" catalog="dress" lazy="true">

breed.hbm.xml

<class name="com.yourcompany.pojo.Breed" table="breed" catalog="dress">
<id name="breedid" type="java.lang.String">
<column name="BREEDID" length="4" />
<generator class="identity" />
</id>
<property name="breedname" type="java.lang.String">
<column name="BREEDNAME" length="50" not-null="true" />
</property>
<set name="skus" inverse="true" cascade="save-update">
<key>
<column name="BREEDID" length="4" not-null="true" />
</key>
<one-to-many class="com.yourcompany.pojo.Sku" />
</set>
</class>
字数限制 variety.hbm.xml基本和breed 一致 求大侠们帮助
部分sku.hbm.xml文件

<class name="com.yourcompany.pojo.Sku" table="sku" catalog="dress" lazy="true">
<id name="skuid" type="java.lang.Integer">
<column name="SKUID" />
<generator class="identity" />
</id>
<many-to-one name="breed" class="com.yourcompany.pojo.Breed" fetch="select" cascade="save-update">
<column name="BREEDID" length="4" not-null="true" />
</many-to-one>
<many-to-one name="variety" class="com.yourcompany.pojo.Variety" fetch="select" cascade="save-update">
<column name="VARIETYID" length="6" not-null="true" />
</many-to-one>
<property name="skuname" type="java.lang.String">
<column name="SKUNAME" length="50" not-null="true" />
</property>
<class>

非空的值关联了一个空值或无效的值,就是你数据库里面某个字段设置为非空,但是传过去的是个空值,在后台仔细检查一下传过来的值是不是空追问

我检查了 就是两个下拉框中的值提交是空。

但是不会弄啊- - 我用hibernate 生成pojo的

表 sku中的就是这样了

private Integer skuid;
private Breed breed;
private Variety variety;
private String skuname;

页面中传的是breedid 但是不知道怎么样传到sku实体中

追答

不是这个问题
商品品牌:

${bean.breedname}

你两个select名称都没有,你在后台怎么取值呢?
给每个select加个id 名称随便你取

${bean.breedname}

然后在后台取值
String test = request.request.getParameter("test");
这样就能获取到选择的商品品牌id

追问

不好意思 我是新手

我后台已经用 SkuForm skuForm=(SkuForm) form;
Sku sku=new Sku();
BeanUtils.copyProperties(sku, skuForm);

来取表单里全部的值了 String test = request.request.getParameter("test");
这样怎么才能放到sku里??

温馨提示:内容为网友见解,仅供参考
无其他回答

...property references a null or transient value
非空的值关联了一个空值或无效的值,就是你数据库里面某个字段设置为非空,但是传过去的是个空值,在后台仔细检查一下传过来的值是不是空

相似回答