MySQL使用Hibernate将null布尔值映射到Java

时间:2016-03-31 23:28:23

标签: java mysql hibernate null boolean

我正在使用Spring和Hibernate开发使用Java和MySql的Bet服务,但我对映射有疑问:

在我的数据库中,我有bet types(问题),如:¿谁将赢得比赛?和bet options对于每种类型,如:1,X,2。每个选项都有一个布尔指示符,以显示选项是否是赢家选项。因此,MySql中此属性的映射是这样的布尔值:1如果选项是赢家,0如果选项更宽松,null如果选项还不是获胜者还是更宽松的

因此,在我的服务层中,如何检查选项中的winner属性是否为空?我试过option.getIsWinner() != null但是boolean是一个原始类型,所以它可以为null。对此有何想法?

感谢。

1 个答案:

答案 0 :(得分:1)

Java有两种布尔类型; lowercase-b boolean,它是一个基元,一个是大写字母B Boolean,它是一个对象。对象变体也可以为null,因此在数据库列为null的情况下,它应该可以为null。如果切换到java.lang.Boolean,您应该得到预期的行为。我只是查看了Hibernate文档,它支持两者。