Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    2

    Gestione transazioni

    Sto realizzando per hobby una piccola applicaziona Java stand-alone.

    A livello di back-end la mia applicazione ha la seguente stratificazione

    Business
    --------
    DAO
    -------
    DB MySql

    Per l'interazione con il db uso Hibernate.

    Il mio problema è il seguente: gestire le transazioni a livello di business. Mi spiego meglio.

    Supponiamo che un metodo di business faccia due o più chiamate al DAO. Ogni operazione del DAO è gestita come transazione da Hibernate. Io però vorrei che anche il metodo di business venga considerato una transazione, indipendentemente se fa chiamate ai DAO o no.

    Se ad esempio il mio metodo di business fa:

    dao.faiQualcosa();
    dao.faiQualcheAltraCosa();

    io vorrei che queste due operazioni o vengono fatte tutte due o nessuna.

    So che per esempio gli EJB consentono di realizzare questo.
    Non trovandomi su un application-server, avevo pensato di orientarmi verso Spring, ma pure leggendo le reference, non ho capito molto su come gestire le transazioni.

    Spero di aver chiarito il problema, grazie per l'aiuto.

  2. #2
    Utente di HTML.it L'avatar di pcg4m3s
    Registrato dal
    Aug 2007
    Messaggi
    244
    suppongo che tu abbia un oggetto di tipo Connection per connetterti al DB.
    supponiamo che tu lo hai creato così:

    codice:
    Connection conn=DriverManager.getConnection(URL);
    dove con URL indico la Stringa di connessione.
    devi settare:

    codice:
    conn.setAutoCommit(false);
    e fare il commit subito dopo aver effettuato entrambe le operazioni, quindi:

    codice:
    dao.faiQualcosa();
    dao.faiQualcheAltraCosa();
    conn.commit();

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.