У меня есть класс 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
Это бросает это, потому что он пытается установить логическое значение null в HSQL. Я могу решить эту проблему, изменив private boolean atShop;
на private boolean atShop;
, но я хочу сохранить это как boolean
, поскольку я сохраняю его как бит в моей базе данных
Есть ли способ решить это, не меняя boolean
на boolean
?
EDIT:
Я знаю, что boolean может быть только true/false, а Boolean может быть установлен в null, но есть ли способ получить hibernate/ spring, чтобы установить это значение в значение false (которое, как я думал, оно должно делать автоматически) вместо пытаясь установить его в null и выбросить это исключение?
Я также попробовал добавить аннотацию, чтобы автоматически установить значение в false, но это не работает.
@Column(nullable = false, columnDefinition = "bit default 0")
private boolean atShop;