Hibernate对tinyint(1)的特殊处理

今天早上定义了一个字段类型为tinyint(1),因为这个字段的值只有0到3,4种情况本意是减少数据库的存储,所以tinyint大小足够了。tinyint默认可存-127~127范围的数字(有符号)。

当时采用tinyint(1),其实tinyint(2)之类的也是可以的,后面的数字是限制显示长度。当实际长度超出这个值时,也不会影响存储(如果有配置zerofill,那么不足的部分会左边补0)。没有超出的话,就没什么用。

当我用hibernate的方式从库里取出这个字段值的时候。发现怎么取都只是0或者1。可是库里的值已经是其他值了。所以很郁闷。我把tinyint(1)改为tiny(2)后,能正常取值了。想来这个字段类型应该是被hibernate特殊处理了。查下资料,应该是被处理成boolean了,所以只能取到0和1。下次遇到,如果不是是否什么的字段,还是改用大点的值才行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值