Orm hibernate springframework
-
Upload
vortexbird -
Category
Education
-
view
2.636 -
download
2
description
Transcript of 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
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