Ho una classe negozio con la seguente variabileImpossibile impostare booleano su null
@Column(columnDefinition = "bit")
private boolean atShop;
da questo valore, sto usando HSQL per recuperare queste informazioni dall'applicazione
from Person person
left join fetch person.shop
quando provo chiamata questa affermazione HSQL ottengo il seguente errore
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
Si sta lanciando questo perché sta cercando di impostare il booleano a null in HSQL. Posso risolvere questo problema modificando private boolean atShop;
-private Boolean atShop;
ma voglio mantenere questo come un boolean
come sto salvandolo come un po 'nel mio database
C'è un modo per risolvere questo senza cambiare boolean
a Boolean
?
EDIT:
So che booleano può essere solo vero/falso e booleana può essere impostato per nulla, ma c'è un modo per ottenere hibernate/primavera per impostare questo valore su false (che ho pensato dovrebbe farlo automaticamente) invece di provare a impostarlo su null e a lanciare questa eccezione?
ho anche provato ad aggiungere annotazioni per impostare automaticamente il valore su falso, ma questo non funziona neanche
@Column(nullable = false, columnDefinition = "bit default 0")
private boolean atShop;
sì, conosco le differenze tra booleano e booleano, la mia applicazione lancia questa eccezione perché spring/hibernate sta tentando di impostare atShop su null invece che su false, ma come posso ottenerlo su false e non null? –
Accidenti, lo odio quando le persone rispondono alle domande senza alcuna spiegazione e solo perché non sono esattamente quello che stanno cercando. Soprattutto in una domanda come questa che in origine non era abbastanza chiara. Mi fa perdere la volontà di cercare di aiutare. –
@Edwin Dalorzo: Ma non sono stato io a votare per le risposte, ecco perché ho aggiunto la sezione di modifica alla mia domanda perché è stata colpa mia se non ho spiegato che ho già capito le differenze tra booleano e booleano –