求教 Hibernate中 属性默认值的设置

来源:百度知道 编辑:UC知道 时间:2024/06/30 09:30:57
我在数据库中有一个person表
其中有一个字段为 sex
这个字段为非空,默认值为“男”

*.hbm.xml中的相关代码如下:
....
<property name="sex" type="java.lang.String">
<column name="sex" length="20" not-null="true"/>
</property>
....

问题:
如果我按照以上代码配置,测试的时候如果不给sex赋值会报错
但是数据库中设置了默认值,如果我不希望重新给sex赋值的话
那么我在*.hbm.xml中因该怎么配置默认值?
dynamic-insert="true"和
dynamic-update="true"
好像不行啊,还是出现了错误:
org.hibernate.PropertyValueException: not-null property references a null or transient value: vo.Person.sex

在该配置的class节点上写上
dynamic-insert="true"和
dynamic-update="true"

dynamic-insert="true"和
dynamic-update="true"
并且要把 not-null="true" 删掉

我的方法是写了一个触发器,on tablename after insert 这样也可以解决,不知道谁有更好的!