[nbdiscuss_es] Re: Clase DAO y Transacciones

  • From: Angeles Alvarez < >
  • To:
  • Subject: [nbdiscuss_es] Re: Clase DAO y Transacciones
  • Date: Mon, 29 Mar 2010 12:03:18 -0700 (PDT)
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:X-YMail-OSG:Received:X-Mailer:References:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type; b=UZkXgW2RIgyuqI85wNb9CpzPengPnhqurhrzxNs1GDVZe2XMBwLNJIcqcg6pWo8aAwpFmQjqycUSLvL0WhtrEezH9hkscLu9BgjGBMYK0AUoY/lz8yZM4uu+0kwy9z1qEJ0Pyn7bCcIpnk+EpAT6hMXdHzw/KjDVFJlH+3HcXWI=;

Hola Matías,

Como yo lo manejo es que, en general, tengo una clase para cada tabla, y llamo los métodos desde una clase de modelo, cuando llego a manejar 2 tablas es cuando hay un maestro detalle que no tiene sentido crear o modificar el maestro si no se crea/modifica el detalle, en ese caso considero las tablas como si fueran la misma.

Respecto al Rollback y al commit puede depender de la base de datos que manejes, por ejemplo si utilizas Oracle puedes definir los puntos de rollback y hacer rollbacks hacia atras dependiendo de las trasacciones, pero hay otras bases de datos que haces una transacción y se refleja en la base de datos (me parece que este es el caso de la javaDB/derby [comercial] que tiene la ventaja de que tiene un footprint de 2MB, puede correr embedida, escrita en Java y aunque no es muy poderosa funciona bastante bien y fue incluida en el JDK en la versión 6).

En general los métodos que manejo en las clases DAO son:

1.- una para leer todos los registros de la tabla y llenar su clase de modelo *
2.- actualiza (instancia de la clase de modelo)  para que reciba el dato de la clase de modelo y lo actualice en la BD
3.- elimina todos los registros ()
4.- agrega nuevo registro (instancia de la clase de modelo)
5.- actualiza todos los registros (un ArrayList u otra clase que contenga todos los registros con los que deba coincidir el contenido de la tabla). En este caso cuando la tabla es pequeña prefiero que este método llame a eliminar todos los registros y agregar uno por uno de los que se recibieron.


* Lo que me ha funcionado (cuando no son demasiados registros) es tener una clase de modelo que administra a las instancias que se leen de la base de datos, por ejemplo si tengo una tabla que es persona entonces creo una PersonaDAO, y una PersonaNE que está mapeada a PersonaDAO (más los atributos que se deriban de cálculos) y una PoblacionNE que contiene un ArrayList<PersonaNE> donde administro toda la población de personas, por lo tanto en la clase DAO llamo a la que llena todos los registros y lo hago desde la PoblacionNE.

 
Saludos

Angeles



De: jaider rodriguez < >
Para:
Enviado: lun, marzo 29, 2010 7:10:03 AM
Asunto: [nbdiscuss_es] Re: Clase DAO y Transacciones

Buen Dia Compañero
 
Independientemente de donde manejes el metodo de tranwsaccion, el objeto conexion es el mismo en todas las clases que interviene en el proceso,
 
Te aconsejo si quieres comparte un ejemplo de como manejas los daos y tal vex te pueda ayudar mejor
 
 
Cordialmente
 

Ing Jaider Fernando Rodriguez Lozano
Jefe de Tecnologia Informatica
Fundacion Cardiovascular de Colombia
Cel. 318 330 5292


El 28 de marzo de 2010 13:38, Matias Varela < " target="_blank" href="mailto: "> > escribió:
Buenos días lista.. Tengo algunas dudas conceptuales sobre las clases DAO (Data Access Object) y el manejo de transacciones. Yo creo una clase DAO para cada tabla de la DB con los métodos que necesito realizar sobre ellas. Ahora me surgío la necesidad de utilizar una transaccion que realice cambios sobre varias tablas, y la duda es ¿ En que clase DAO escribo el metodo que realice la transaccion? ¿No rompe esto con el modelo? Ya que estaría accediendo a varias tablas desde solo una clase dao..

Por otro lado, una cuestión más practica, ¿ como realizas esta transaccion desde java? ¿existen metodos para el commit y rollback?

Gracias de antemano listeros..



************************************************************************************
This footnote confirms that this email message has been scanned by
PineApp Mail-SeCure for the presence of malicious code, vandals & computer viruses.
************************************************************************************







¡Obtén la mejor experiencia en la web!
Descarga gratis el nuevo Internet Explorer 8
http://downloads.yahoo.com/ieak8/?l=e1


[nbdiscuss_es] Re: Clase DAO y Transacciones

(continued)

[nbdiscuss_es] Re: Clase DAO y Transacciones

Matias Varela 03/29/2010

[nbdiscuss_es] abirir el explorador de archivos desde java

SOTO Camilo 03/29/2010

[nbdiscuss_es] Re: abirir el explorador de archivos desde java

Jose david manzano 03/29/2010

[nbdiscuss_es] Re: abirir el explorador de archivos desde java

SOTO Camilo 03/29/2010

[nbdiscuss_es] Re: abirir el explorador de archivos desde java

Jose david manzano 03/29/2010

[nbdiscuss_es] Re: abirir el explorador de archivos desde java

Jose david manzano 03/29/2010

[nbdiscuss_es] Re: abirir el explorador de archivos desde java

Luis Alejandro 03/29/2010

[nbdiscuss_es] Re: abirir el explorador de archivos desde java

SOTO Camilo 03/29/2010

[nbdiscuss_es] Re: Clase DAO y Transacciones

jaider rodriguez 03/29/2010

[nbdiscuss_es] Re: Clase DAO y Transacciones

Matias Varela 03/29/2010

[nbdiscuss_es] Re: Clase DAO y Transacciones

Angeles Alvarez 03/29/2010

Project Features

About this Project

www was started in November 2009, is owned by jpirek, and has 21 members.
By use of this website, you agree to the NetBeans Policies and Terms of Use (revision 20131025.e7cbc9d). © 2013, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo
 
 
Close
loading
Please Confirm
Close