Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sesion05 Traspas
Sesion05 Traspas
Enterprise JavaBeans
Sesión 5:
Beans de entidad
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 1
Índice
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 2
Beans de entidad
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 3
Beans de entidad y SGBDs
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 4
Uso de los beans de entidad
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 5
... y ¿qué pasa en la BD?
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 6
Operaciones sobre los beans y BD
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 7
Un ejemplo de bean de entidad
Estudiante
Los datos de los estudiantes deben persisitir en la BD
Los datos de los estudiantes deben sobrevivir a una caída
del servidor
Los datos de los estudiantes son compartidos por muchas
aplicaciones cliente
Cada estudiante tiene un número de identificación único
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 8
CMP y BMP
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 9
¿Cómo usar beans de entidad?
if (firstName.equals("Domingo"))
customer.remove();
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 10
¿Cómo crear beans de entidad?
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 11
Proceso de creación (1)
create()
client home intf.
)
ejbCreate(
ejbPostCreate()
bean
inst.
EJB Container
SQL insert
DB
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 12
Proceso de creación (2)
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 13
¿Cómo eliminar beans de entidad?
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 14
¿Cómo modificar beans de entidad?
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 15
¿Puedo obtener más de un bean?
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 16
EJB-QL
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 17
¿Cómo construir beans de entidad?
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 18
Tabla BD
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 19
Clases Java
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 20
CustomerBean.java
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 21
CustomerHome.java
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 22
Customer.java
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 23
Ficheros de despliegue
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 24
ejb-jar.xml
<entity>
<ejb-name>CustomerBean</ejb-name>
…
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.Integer</prim-key-class>
<cmp-version>2.x</cmp-version>
<abstract-schema-name>Customer</abstract-schema-name>
<cmp-field><field-name>id</field-name></cmp-field>
<cmp-field><field-name>lastName</field-name></cmp-field>
<cmp-field><field-name>firstName</field-name></cmp-field>
<cmp-field><field-name>inscriptionDate</field-name></cmp-field>
<primkey-field>id</primkey-field>
<query>
…
</query>
</entity>
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 25
weblogic-cmp-jar.xml
<weblogic-rdbms-bean>
<ejb-name>CustomerBean</ejb-name>
<data-source-jndi-name>MiDataSource</data-source-jndi-name>
<table-map>
<table-name>CUSTOMERS</table-name>
<field-map>
<cmp-field>id</cmp-field>
<dbms-column>ID_CUSTOMER</dbms-column>
</field-map>
<field-map>
<cmp-field>firstName</cmp-field>
<dbms-column>FIRST_NAME</dbms-column>
</field-map>
<field-map>
<cmp-field>lastName</cmp-field>
<dbms-column>LAST_NAME</dbms-column>
</field-map>
<field-map>
<cmp-field>inscriptionDate</cmp-field>
<dbms-column>INSCRIPTION_DATE</dbms-column>
</field-map>
</table-map>
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 26
Claves primarias auto-generadas
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 27
En el fichero weblogic-cmp-jar.xml
<weblogic-rdbms-bean>
<ejb-name>CustomerBean</ejb-name>
<data-source-jndi-name>MiDataSource</data-source-jndi-name>
…
<automatic-key-generation>
<generator-type>SequenceTable</generator-type>
<generator-name>CUSTOMER_IDS</generator-name>
<key-cache-size>1</key-cache-size>
</automatic-key-generation>
</weblogic-rdbms-bean>
Enterprise Jav aBeans Copyright © 2005-2006 Univ ersidad de Alicante Beans de entidad 28