/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Hibernate og Undo
Fra : Janus


Dato : 25-06-08 06:09

Hej NG!

For at mindske kompleksiteten af min kode, kunne jeg godt bruge en
"Undo"-funktion i Hibernate.
Jeg tænker noget i stil med:

1) Sæt et "fix-punkt" for de påvirkede tabeller
2) Udfør et ubestemt antal insert, delete og update på tabellerne
3) Hvis brugeren accepterer ændringerne, skal de bibeholdes, vælger
han ikke at acceptere, skal tabellernes tilstand føres tilbage til
tilstanden i punkt 1.

Umiddelbart kan jeg ikke komme i tanker om andre måder at løse
problemet end at lave en kopi af tabellerne ved punkt 1 og så bruge
denne kopi til Undo-funktionalitet, men måske er der andre og bedre
alternativer? Et hint til kode vil blive værdsat :)


På forhånd mange tak!

 
 
Benny Andersen (25-06-2008)
Kommentar
Fra : Benny Andersen


Dato : 25-06-08 16:10

On Wed, 25 Jun 2008 05:09:24 -0700 (PDT), Janus wrote:

> Hej NG!
>
> For at mindske kompleksiteten af min kode, kunne jeg godt bruge en
> "Undo"-funktion i Hibernate.
> Jeg tænker noget i stil med:
>
> 1) Sæt et "fix-punkt" for de påvirkede tabeller
> 2) Udfør et ubestemt antal insert, delete og update på tabellerne
> 3) Hvis brugeren accepterer ændringerne, skal de bibeholdes, vælger
> han ikke at acceptere, skal tabellernes tilstand føres tilbage til
> tilstanden i punkt 1.
>
> Umiddelbart kan jeg ikke komme i tanker om andre måder at løse
> problemet end at lave en kopi af tabellerne ved punkt 1 og så bruge
> denne kopi til Undo-funktionalitet, men måske er der andre og bedre
> alternativer? Et hint til kode vil blive værdsat :)

lyder det som basal transaktion håndtering:
http://java.sun.com/docs/books/tutorial/jdbc/basics/transactions.html


--
Benny Andersen

Janus (23-07-2008)
Kommentar
Fra : Janus


Dato : 23-07-08 02:44


>
> lyder det som basal transaktion håndtering:http://java.sun.com/docs/books/tutorial/jdbc/basics/transactions.html
>
> --
> Benny Andersen

Hej Benny!

Tak for dit svar, og undskyld mit sene svar.
Jeg prøvede med rollback() og savepoints, men kunne ikke få det til at
fungere, mine ændringer blev ikke tilbagerullet. Jeg fandt på en anden
løsningsmodel til min "Undo"-funktion uden brug af databasen, så jeg
fik det til at fungere!

Mvh Janus

Andreas Plesner Jaco~ (23-07-2008)
Kommentar
Fra : Andreas Plesner Jaco~


Dato : 23-07-08 11:20

On 2008-07-23, Janus <janus.e@gmail.com> wrote:
>
>>
>> lyder det som basal transaktion
>> håndtering:http://java.sun.com/docs/books/tutorial/jdbc/basics/transactions.html
>
> Jeg prøvede med rollback() og savepoints, men kunne ikke få det til at
> fungere, mine ændringer blev ikke tilbagerullet. Jeg fandt på en anden
> løsningsmodel til min "Undo"-funktion uden brug af databasen, så jeg
> fik det til at fungere!

Bruger du en database, der understøtter transaktioner? mysql gør kun med
visse database engines.

--
Andreas

Janus (28-07-2008)
Kommentar
Fra : Janus


Dato : 28-07-08 01:45



> > Jeg prøvede med rollback() og savepoints, men kunne ikke få det til at
> > fungere, mine ændringer blev ikke tilbagerullet. Jeg fandt på en anden
> > løsningsmodel til min "Undo"-funktion uden brug af databasen, så jeg
> > fik det til at fungere!
>
> Bruger du en database, der understøtter transaktioner? mysql gør kun med
> visse database engines.
>
> --
> Andreas

Hej Andreas,

Jeg bruger SQL Server 2005 Express. Det er ikke fordi det er 'update's
og ikke 'insert's eller 'delete's jeg skal roll-back'e?

Mvh Janus

Soren (News) (29-07-2008)
Kommentar
Fra : Soren (News)


Dato : 29-07-08 11:40

Janus <janus.e@gmail.com> writes:

[snip]
>> > Jeg prøvede med rollback() og savepoints, men kunne ikke få det til at
>> > fungere, mine ændringer blev ikke tilbagerullet. Jeg fandt på en anden

Det kunne være godt at se lidt kode. Du er sikker på at du får det lavet
så det er "inde i" transaktionen at du ruller tilbage? (samme med savepoints)

> Jeg bruger SQL Server 2005 Express. Det er ikke fordi det er 'update's
> og ikke 'insert's eller 'delete's jeg skal roll-back'e?

Hvilken driver bruger du der? jtds eller andet? (og, der burde ikke være
nogen forskel på om det er update eller insert/delete, jeg kan ikke forestille
mig nogen database der kun har implementeret transaktioner for den ene
del :) ).

Mvh,
Soren

Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste