我有一个类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中将boolean设置为null.我可以通过改变private boolean atShop来解决这个问题;到私人Boolean atShop;但是我希望将其保留为一个布尔值,因为我将其保存在我的数据库中
有没有办法解决这一点,而不改变布尔值为布尔值?
编辑:
我知道布尔值只能是true / false,布尔值可以设置为null,但是有没有办法让hibernate / spring将此值设置为false(我认为它应该自动执行),而不是试图将其设置为null并抛出此异常?
我也尝试添加注释来自动将该值设置为false,但这也不起作用
@Column(nullable = false, columnDefinition = "bit default 0")
private boolean atShop;