Ciao a tutti, uso degli oggetti dao con un database SQL Server, e nel codice che vado a postare mi da errore "NullPointerException" sull'oggetto dnd, mentre se tolgo l'istruzione setAutoComit(false) il tutto funziona.
Inoltre lo stesso oggetto dao funziona usando le transazioni associate con altri oggetti dao, ma con nDao no.
Sapete se ci sono particolari problemi con le transazioni e sql server ?
Lo utilizzo senza problemi con tutti gli altri archivi (tabelle) ma in questo caso ho riverificato tutto più volte ma non funziona (java -version 1.6.0).
Lo stesso codice lo uso con altre tabelle e funziona.
Ho verificato il codice SQL delle classi dao ma è giuso (anche perche se ometto il setAutoComit) la procedura funziona e aggiorna le due tabelle.
Grazie
codice:
public void add(NestVO entry){
		
		// apro la connessione
		Db dataBase = new Db(true);
		
		// apro docNr
		DocNrPK docNrPK = new DocNrPK(DocNrDAO.DOCNR_NEST, 0);
		DocNrDAO dnd = DocNrDAOFactory.getInstance();
		
		DocNrVO docNrVO = dnd.retrive(docNrPK, dataBase);
		int newDocNr = docNrVO.getNrUltDoc();

		// aggiorno docNr
		newDocNr++;
		docNrVO.setNrUltDoc(newDocNr);
		docNrVO.setDtaUltDoc(new Date());
	
		// aggiorno dati input
		entry.setIdNest(newDocNr);
		
		NestDAO nDao = NestDAOFactory.getInstance();
		
		// inizio la transazione
		dataBase.setAutoComit(false);

		if(nDao.add(entry, dataBase)){
			if(dnd.update(docNrVO, dataBase)){

				// chiudo la transazione
				dataBase.commit();
				
				// aggiorno lo stato del model
				this.nestVO = entry;
				
				// pulisco la lista nestOrd
				//tblMdlNestOrd.clear();
				
				super.setChanged();
			
			}else{
				dataBase.rollback();
			}
			
		} else{	
			dataBase.rollback();
		}
		
		nDao = null;
		dnd = null;
		
		// chiudo la connessione
		dataBase.disconnetti();
		dataBase = null;
		
		// notifico
		super.notifyObservers();
	}