2010-08-12 13 views
1

J'ai ce scénario dans mes applications Spring MVC.Envoyer plusieurs données à la base de données au printemps

L'utilisateur doit choisir les passe-temps qu'il/elle aime. Il peut choisir au moins un ou plusieurs hobbies. Mon problème est le suivant: Si je dois enregistrer la liste des hobbies dans ma base de données, je pense à envoyer la liste des hobbies que mon utilisateur a choisis, délimités par un séparateur de virgule.

Il est comme ça: Basketball, Chant, Danse, Bowling

Maintenant, Dans mon appel de procédure stockée dans mon DB appelé par JDBC DAO, je vais analyser la liste des chaînes, puis effectuez un insert états par un?

Je peux aussi utiliser le

Begin Try 
Begin Tran 
    //perform series of inserts here 
Commit Tran 
End Try 
Begin Catch 
Rollback Tran 
End Catch 

Je pense que cela va limiter le montant de la transaction de mon Spring JDBC à DB. Cela me permettrait également d'avoir une transaction incomplète en cas d'échec de la deuxième ou de la troisième insertion. J'ai entendu parler de la fonctionnalité Spring Transaction Management, mais je n'ai pas encore eu l'occasion de l'étudier et je m'en tiens à ce que je sais jusqu'à présent en raison des contraintes de temps. Le printemps a tellement de modules et je n'ai pas le temps de les étudier tous. Pensez-vous que, compte tenu de ma connaissance actuelle du printemps, mon idée est OK?

Répondre

1

L'idée de gérer vos transactions dans une procédure stockée est assez ancienne, mais parfaitement valide. Spring fournit la gestion des transactions JDBC et JTA, ce qui facilite la gestion des transactions au niveau de l'application. Si vous voulez plutôt gérer vos transactions dans la procédure stockée, vous n'aurez pas beaucoup d'utilité pour les transactions de Spring, vous pouvez donc l'ignorer en toute sécurité.

+0

Merci à skaffman. Vos commentaires sont vraiment bien reçus. Je vais essayer d'étendre les efforts pour étudier la fonctionnalité de gestion des transactions. J'ai juste eu du mal à comprendre AOP sur les tutoriels internet. –