Orm hibernate springframework

19
ORM Spring Framework Diego Armando Gómez Mosquera. [email protected] [email protected] Sun Certified Java Associated. Sun Certified Java Programmer. Sun Certified Web Component Developer. Sun Certified Business Component Developer 5

description

Soporte proporcionado por Spring para integrarse con una gran variedad de Mapeadores objeto relacionales (ORM)

Transcript of Orm hibernate springframework

Page 1: Orm hibernate springframework

ORM Spring Framework

Diego Armando Gómez [email protected]

[email protected] Certified Java Associated.

Sun Certified Java Programmer.Sun Certified Web Component Developer.

Sun Certified Business Component Developer 5

Page 2: Orm hibernate springframework

Agenda

• Arquitectura de Spring• Hibernate• Spring ORM• Spring DAO• Spring Transaction management

Page 3: Orm hibernate springframework

Arquitectura de Spring

Page 4: Orm hibernate springframework

Que es Hibernate

• Hibernate es un mapeador objecto relacional (ORM) que pertenece a la compañía Jboss.

• Se encarga de persistir objetos en bases de datos relaciones y tiene soporte para una gran variedad de bases de datos– DB2– Oracle– Postgres– MySQL

Page 5: Orm hibernate springframework

Que es Spring ORM

• Soporte proporcionado por Spring para integrarse con una gran variedad de Mapeadores objeto relacionales (ORM)– JPA– Hiberante– iBATIS– TopLink– Apache OJB– JDO

Page 6: Orm hibernate springframework

Spring ORM

• Spring integrado con un ORM como Hibernate proporciona las siguientes características.– Administración de sesiones (Hibernate Sesion)– Administración de recursos (SessionFactory)– Administración de transacciones integradas.– Administración de DataSource.– Envolver excepciones

Page 7: Orm hibernate springframework

Spring ORM

• APIs Básicas– org.springframework.orm.hibernate3.LocalSession

FactoryBean– org.springframework.orm.hibernate3.HibernateTr

ansactionManager

Page 8: Orm hibernate springframework

Spring ORM

<?xml version="1.0" encoding="UTF-8"?><beans <bean id="sessionFactory"

class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><property name="configLocation" value="classpath:hibernate.cfg.xml" />

</bean>

<bean id="transactionManager”class="org.springframework.orm.hibernate3.HibernateTransactionManager">

<property name="sessionFactory" ref="sessionFactory" /> </bean>

<tx:annotation-driven transaction-manager="transactionManager" /><context:component-scan base-package="co” scoped-proxy="interfaces" />

</beans>

Page 9: Orm hibernate springframework

Que es Spring DAO

• Soporte proporcionado por Spring para hacer mas simple la administración de recursos de componentes DAO usando diferentes tecnologías.

• HibernateDaoSupport• JdbcDaoSupport• JdoDaoSupport• JpaDaoSupport

Page 10: Orm hibernate springframework

Spring DAO

• Spring integrado con un ORM como Hibernate y usando el HibernateDaoSupport proporciona.– Acceso simple a las sesiones de hibernate.– Integración con transacciones administradas por el

contenedor de Spring.– El método getHibernateTemplate() devuelve un

témplate con varios métodos útiles, que simplifican el uso de Hibernate

Page 11: Orm hibernate springframework

Spring DAO

• APIs Básicas– org.springframework.orm.hibernate.support.HibernateDa

oSupport– org.springframework.jdbc.core.support.JdbcDaoSupport– org.springframework.orm.jdo.support.JdoDaoSuppor– org.springframework.orm.jpa.support.JpaDaoSupport

Page 12: Orm hibernate springframework

Spring DAO

@Repository("ClientesDAO")public class ClientesDAO extends HibernateDaoSupport implements IClientesDAO {

private static final Logger log = LoggerFactory.getLogger(ClientesDAO.class); @Autowired

public void init(SessionFactory factory) { setSessionFactory(factory);

} protected void initDao() {

// do nothing }public void save(Cliente cliente){

………….}

}

Page 13: Orm hibernate springframework

Spring DAO<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"

xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.0.xsd">

<bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><property name="configLocation" value="classpath:hibernate.cfg.xml" />

</bean></beans>

Page 14: Orm hibernate springframework

Que es Spring Transaction management?

• Soporte proporcionado por Spring para la administración de transacciones en una aplicación empresarial.

• Soporte para dos tipos de transacciones– Programmatic transaction management– Declarative transaction management

• Se fundamenta en el uso de aspectos para la configuración de las transacciones.

Page 15: Orm hibernate springframework

Spring Transaction management

• Cuenta con un soprte extenso para manejo de transacciones– Programatica con JTA– Programatica con Transaction Template– Declarativa con Transaction Advice– Declarativa con @Transaction Annotation

Page 16: Orm hibernate springframework

Spring Transaction management

• Soporte para diferentes comportamientos– REQUIRED– REQUIRES_NEW– SUPPORTS– NOT_SUPPORTS– MANDATORY– NEVER– NESTED

Page 17: Orm hibernate springframework

Spring Transaction management

• Niveles de aislamiento soportados– DEFAULT– READ_UNCOMMITTED– READ_COMMITTED– REPEATABLE_READ– SERIALIZABLE

Page 18: Orm hibernate springframework

Taller construcción de aplicación

• Tecnologías:• Hibernate• Spring ORM• Spring DAO• Spring Transaction con anotaciones

Page 19: Orm hibernate springframework

Gracias

Spring Framework