次の変数を持つクラス 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
ますか?
編集:
ブール値はtrue/falseにしか設定できず、ブール値はnullに設定できることはわかっていますが、休止状態/春にこの値をfalseに設定する方法はありますか(これは自動的に行うべきだと思いました) null とこの例外をスローしますか?
値を自動的にfalseに設定する注釈を追加しようとしましたが、これも機能しません
@Column(nullable = false, columnDefinition = "bit default 0")
private boolean atShop;