我有一个带有以下变量的类 Shop
@Column(columnDefinition = "bit")
private boolean atShop;
使用此值,我使用 HSQL 从应用程序中检索此信息
from Person person
left join fetch person.shop
当我尝试调用此 HSQL 语句时,出现以下错误
org.springframework.orm.hibernate3.HibernateSystemException: could not set a field value by reflection setter of com.test.dataobject.Shop.atShop; nested exception is org.hibernate.PropertyAccessException: could not set a field value by reflection setter of com.test.dataobject.Shop.atShop
它抛出这个是因为它试图在 HSQL 中将布尔值设置为 null。private boolean atShop;
我可以通过更改来解决这个问题,private Boolean atShop;
但我想保留它,boolean
因为我将它保存在我的数据库中
有没有办法在不改变的情况下解决这个boolean
问题Boolean
?
编辑:
我知道布尔值只能是真/假并且布尔值可以设置为空,但是有没有办法让休眠/弹簧将此值设置为假(我认为它应该自动执行)而不是尝试将其设置为null 并抛出此异常?
我也尝试添加注释以自动将值设置为 false 但这也不起作用
@Column(nullable = false, columnDefinition = "bit default 0")
private boolean atShop;