orm hibernate springframework

Post on 27-Jun-2015

2.657 Views

Category:

Education

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

ORM Spring Framework

Diego Armando Gómez Mosquera.dgomez@vortexbird.com

dagmosqu@usbcali.edu.coSun Certified Java Associated.

Sun Certified Java Programmer.Sun Certified Web Component Developer.

Sun Certified Business Component Developer 5

Agenda

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

Arquitectura de Spring

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

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

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

Spring ORM

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

FactoryBean– org.springframework.orm.hibernate3.HibernateTr

ansactionManager

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>

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

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

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

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){

………….}

}

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>

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.

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

Spring Transaction management

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

Spring Transaction management

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

Taller construcción de aplicación

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

Gracias

Spring Framework

top related