我正在使用Spring和Hibernate开发使用Java和MySql的Bet服务,但我对映射有疑问:
在我的数据库中,我有bet types
(问题),如:¿谁将赢得比赛?和bet options
对于每种类型,如:1,X,2。每个选项都有一个布尔指示符,以显示选项是否是赢家选项。因此,MySql中此属性的映射是这样的布尔值:1
如果选项是赢家,0
如果选项更宽松,null
如果选项还不是获胜者还是更宽松的
因此,在我的服务层中,如何检查选项中的winner属性是否为空?我试过option.getIsWinner() != null
但是boolean是一个原始类型,所以它可以为null。对此有何想法?
感谢。
答案 0 :(得分:1)
Java有两种布尔类型; lowercase-b boolean
,它是一个基元,一个是大写字母B Boolean
,它是一个对象。对象变体也可以为null,因此在数据库列为null的情况下,它应该可以为null。如果切换到java.lang.Boolean
,您应该得到预期的行为。我只是查看了Hibernate文档,它支持两者。