Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [List.add(obj)] NullPointerException

    Ciao a tutti,
    ho due POJO

    Usr
    private List<UsrAddress> addressList;

    @OneToMany(cascade = CascadeType.ALL, mappedBy="relatedUser")
    public List<UsrAddress> getAddressList() {
    return addressList;
    }

    public void setAddressList(List<UsrAddress> addressList) {
    this.addressList = addressList;
    }
    e una semplice classe POJO per contenere diversi indirizzi associati all'utente
    UsrAdddress

    (sto cercando di persistere la relazione nel database con EJB3 e Hibernate)
    sul mio client provo a fare una cosa del genere
    user = new Usr(username, password, email, activeAccount, role);

    // add as many attributes you want to this class
    UsrAddress address = new UsrAddress();
    address.setFirstName(firstName);
    address.setLastName(lastName);

    //attaching the single address to the Usr instance
    user.getAddressList().add(address);

    Boolean success = new Boolean(facadeBean.addUsr(user, false));
    ma non capisco perchè mi ritorna un NullPointerException sulla linea dove provo ad aggiungere l'indirizzo nella lista.

  2. #2
    Sei sicuro che addressList venga istanziata da qualche parte?

  3. #3
    Utente di HTML.it L'avatar di nether
    Registrato dal
    Dec 2006
    Messaggi
    376
    nel pojo Usr:
    codice:
    private List<UsrAddress> addressList = new ArrayList<UsrAddress>();

  4. #4
    forse mi manca ancora una nozione di base.... (eh, ma in questo lavoro è impossibile sapere tutto!)

    Cmq, no. Non l'avevo instaziata perchè avendo letto questo paragrafo
    mi era venuto il dubbio che l'ArrayList non fosse supportato da Hibernate.

    Però non ne sono sicuro al 100%, l'ArrayList è un impletazione delle List e Collection. Quindi teoricamente deve funzionare.

  5. #5
    Utente di HTML.it L'avatar di nether
    Registrato dal
    Dec 2006
    Messaggi
    376
    Essendo una List, puoi mapparlo con un tipo a tua scelta tra i primi 3: bag, idbag e list. Su questo non ci sono dubbi, anche perche' e' impossibile istanziare un'interfaccia (List in questo caso), e' possibile istanziare solo una sua implementazione concreta (ArrayList in questo caso).

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.