..


Enlaces patrocinados

Acceso a datos - Creación de DAO y gestión de transacciones

Refiriéndose al ejemplo del párrafo anterior, vemos cómo crear el DAO a la entidad de coches.

En primer lugar creaimo una interfaz con métodos basados ​​en un DAO, a saber: cargar, guardar, actualizar y eliminar.






 it.mrwebmaster.hibernate.dao paquete;









 it.mrwebmaster.hibernate.Car importaciones;









 {Public CarDao interfaz





  



 carga de un parking público (número entero id);



	

  



 salvar a un parking público (coche de coches);



	

  



 actualización pública Car (coche de coches);



	

  



 public void eliminar (coche de coches);







 }



Creado pasar la interfaz en la creación de la aplicación:





 it.mrwebmaster.hibernate.dao paquete;









 it.mrwebmaster.hibernate.Car importaciones;









 javax.persistence.EntityManager importaciones;







 javax.persistence.PersistenceContext importaciones;









 org.springframework.transaction.annotation.Transactional importaciones;









 @ Transactional







 CarDaoImpl {public class CarDao





  



 @ PersistenceContext (unitName = "puede")



  



 EntityManager em privado;



	

  



 @ Override



  



 public void eliminar (coche de coches) {



    



 em.remove (char);



  



 }





  



 @ Override



  



 @ Transactional (ReadOnly = true)



  



 carga de un parking público (número entero id) {



    



 volver em.find (Car.class, id);



  



 }





  



 @ Override



  



 salvar a un parking público (coche de coches) {



    



 em.persist (char);



    



 devolución del coche;



  



 }





  



 @ Override



  



 actualización pública Car (coche de coches) {



    



 em.merge retorno (char);



  



 }





  



 public void SETEM (EntityManager em) {



    



 this.em = em;



  



 }





  



 getEm pública EntityManager () {



    



 retorno p;



  



 }







 }



y finalmente en 'applicationContext.xml:





 <- COCHE DAO ->







 <bean id="carDaoImpl" class="it.mrwebmaster.hibernate.dao.CarDaoImpl" />



Como se puede observar para implementar la nost DAO necesitamos EntityManager, que se inyecta directamente de nosotros "a través del uso de la COI anotaciones @ PersistenceContext.

La implementación de cada método son triviales, simplemente delegar la all'EntityManager trabajo. En cuanto a la gestión de transacciones, ha optado por utilizar la anotación @ Transactional. Esto permite a la primavera para crear la instancia de nuestro DAO se utiliza un servidor proxy, cuyo trabajo consiste en abrir y cerrar la transacción antes de la llamada a un método y después de la salida desde el método en sí hacer una confirmación o un retroceso en el caso de error.
Tenga en cuenta, finalmente, el uso de la @ transaccional para el método de carga ReadOnly nell'annotation, al hacerlo, ha creado una transición de sólo lectura.

Esta gestión de transacciones se realiza mediante el uso de AOP, a fin de que sólo tiene que añadir a nuestra applicazionContext.xml:






 <- Gestión de Operaciones ->







 <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">



  



 propiedad> name="entityManagerFactory" ref="entityManagerFactory" />







 </ Bean>







 <tx:annotation-driven transaction-manager="transactionManager" />



Primavera Guía Java
E-Learning
Linux (Curso) Linux (Curso)
Guía completa de código abierto del sistema. A partir de 49 €.
PHP (Curso) PHP (Curso)
Ciclo completo para la creación de sitios Web dinámicos. A partir de 49 €.
Ruby y Ruby on Rails (Curso) Ruby y Ruby on Rails (Curso)
Crear aplicaciones de software y la Web con Ruby y RoR. A partir de 39 €.
Enlaces patrocinados