Hibernate和Spring框架做了个小例子 报not-null property references a null or transient value这个错误
我是做删除时报的错误用的是cardtran.setCard(null);这句话就报错cardtran是实体详细的错误:Exceptioninthread"main"org...
我是做删除时报的错误 用的是 cardtran.setCard(null);这句话就报错 cardtran是实体
详细的错误:
Exception in thread "main" org.springframework.dao.DataIntegrityViolationException: not-null property references a null or transient value: com.bean.Cardtran.card; nested exception is org.hibernate.PropertyValueException: not-null property references a null or transient value: com.bean.Cardtran.card
查了些资料 说是 not-null属性的问题 于是我把它们都调成false 还是不行
下面是我的hbm.xml文件
<hibernate-mapping>
<class name="com.bean.Card" table="card" catalog="jiaoshi">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="identity" />
</id>
<property name="cardno" type="java.lang.String">
<column name="cardno" length="20" not-null="false" />
</property>
<property name="cname" type="java.lang.String">
<column name="cname" length="10" not-null="false" />
</property>
<property name="balance" type="java.lang.Float">
<column name="balance" precision="10" />
</property>
<set name="cardtrans" inverse="true" lazy="false" >
<key>
<column name="cid" not-null="false" />
</key>
<one-to-many class="com.bean.Cardtran" />
</set>
</class>
</hibernate-mapping>
实体 Card
private Integer id;
private String cardno;
private String cname;
private Float balance;
private Set cardtrans = new HashSet(0);
get和set方法
下面是 实体 Cardtran
private Integer id;
private Card card;
private Float tranmoney;
private Integer cardtype;
private Date cardtime;
get和set方法 展开
详细的错误:
Exception in thread "main" org.springframework.dao.DataIntegrityViolationException: not-null property references a null or transient value: com.bean.Cardtran.card; nested exception is org.hibernate.PropertyValueException: not-null property references a null or transient value: com.bean.Cardtran.card
查了些资料 说是 not-null属性的问题 于是我把它们都调成false 还是不行
下面是我的hbm.xml文件
<hibernate-mapping>
<class name="com.bean.Card" table="card" catalog="jiaoshi">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="identity" />
</id>
<property name="cardno" type="java.lang.String">
<column name="cardno" length="20" not-null="false" />
</property>
<property name="cname" type="java.lang.String">
<column name="cname" length="10" not-null="false" />
</property>
<property name="balance" type="java.lang.Float">
<column name="balance" precision="10" />
</property>
<set name="cardtrans" inverse="true" lazy="false" >
<key>
<column name="cid" not-null="false" />
</key>
<one-to-many class="com.bean.Cardtran" />
</set>
</class>
</hibernate-mapping>
实体 Card
private Integer id;
private String cardno;
private String cname;
private Float balance;
private Set cardtrans = new HashSet(0);
get和set方法
下面是 实体 Cardtran
private Integer id;
private Card card;
private Float tranmoney;
private Integer cardtype;
private Date cardtime;
get和set方法 展开
4个回答
展开全部
吧Cardtran
的配置文件贴出来吧
的配置文件贴出来吧
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
项目给我
.....
.....
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是要根据id删除吧,你的id为空么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询