Abbiamo una colonna nullable (tipo lungo) (chiamata referral) nel nostro database MySQL. Usiamo l'ibernazione per ORM.Come rilevare se un tipo lungo è effettivamente NULL?
Sto cercando di ottenere il valore della colonna per un determinato membro. Alcuni sono nulli e, se non lo sono, è un id che punta a un altro membro di cui è il referrer.
Il problema è nel codice java Sto cercando di rilevare se la colonna di quel membro è nullo, altrimenti, fare qualcosa.
String referrerAffiliateId = Long.toString(member.getReferral());
if (referrerAffiliateId != null){
//do something
}
member.getReferral() restituisce il valore (tipo long) della colonna di riferimento. Alcune di queste colonne sono nulle e altre no.
Il codice sopra riportato viene compilato correttamente, ma viene visualizzato nullPointerException quando si chiama il metodo su un utente la cui colonna di riferimento è null.
Come si esegue correttamente un rilevamento su questo?
Grazie in anticipo!
risposta completa:
Grazie alla @Marcelo per la migliore risposta corretta.
Ecco il codice nel suo stato finale:
Long referrerAffiliateId = member.getReferral();
if (referrerAffiliateId != null) {
//...
}
Qual è il tipo di ritorno di 'member.getReferral()'? –
@Ted Hopp - long – UpHelix
Suppongo tu intenda "Long' poiché un' long' è un tipo primitivo e non è possibile averlo essere nullo. 'Long' può essere nullo però. Controlla direttamente il valore di ritorno di 'getReferral()' e non provare a convertirlo in una stringa. – gnomed