hibernate 如何使用mysql 字段的default值

在调用session.save(obj);的时候hibernate会把实体的所有字段(已映射)的全部插进数据库

 

使用形如insert into enum_test (name , status) values (? , ?)的sql语句 ,

如果你事先约束status default 'normal' ,这因为有'null'写入(虽然你没有obj.setStatus("xxx")) ,所以

default不起作用  , 这就需要在.hbm.xml文件中设置该字段的insert = "false"

如:<property name="status" column="status" type="string" insert="false"></property>

当你显示的调用setStatus("test");时,hibernate才会insert into enum_test (name , status) values (? , "test")

,否则insert into enum_test (name) values (? ) .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值