La estructura del archivo jbosscmp-jdbc.xml empleada para el Mapeo Objeto/Relacional se encuentra dividida en tres secciones para describir detalladamente el uso de cada parámetro.
jbosscmp-jdbc.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE jbosscmp-jdbc PUBLIC "-//JBoss//DTD JBOSSCMP-JDBC 3.2//EN" "http://www.jboss.org/j2ee/dtd/jbosscmp-jdbc_3_2.dtd"> <jbosscmp-jdbc> <enterprise-beans> <entity> <ejb-name>BancoDeMexicoCMP</ejb-name> <datasource>java:/DefaultDS</datasource> <datasource-mapping>Hypersonic SQL</datasource-mapping> <create-table>true</create-table> <remove-table>true</remove-table> <read-only>false</read-only> <pk-constraint>true</pk-constraint> <table-name>CUENTAS_AUTOMATICAS</table-name> |
Esta primer sección define el nombre del "CMP EJB", en este caso BancoDeMexicoCMP
y otros parámetros relevantes de un "CMP EJB" los cuales significan lo siguiente:
datasource
indica el nombre JNDI que ha sido asignado a la Base de Datos a ser utilizada, en este caso corresponde a Hypersonic; el parámetrodatasource-mapping
indica que el mapeo SQL también será realizado para la Base de Datos Hypersonic.Los parámetros
create-table
yremove-table
permiten al "Application Server/EJB Container" generar y eliminar (respectivamente) la tabla que será utilizada en la Base de Datos (CUENTAS_AUTOMATICAS
). Donde la creación de ésta es llevada acabo al inicio del "Application Server/EJB Container" y la eliminación al ser finalizado el proceso del "App.Server".El parámetro
read-only
es útil para información que nunca debe cambiar en la Base de Datos, esto restringe al EJB de manipular cierto tipo de información critica que pueda ser alterada indebidamente, para este caso se permite el acceso libre a todo valor en la Base de Datos.pk-constraint
indica si debe ser generada una llave primaria para la tabla que será generada por el "Application Server/EJB Container"table-name
representa el nombre de la tabla relacional (SQL) que será utilizada en conjunción con el EJB.
<cmp-field> <field-name>id</field-name> <column-name>ID</column-name> </cmp-field> <cmp-field> <field-name>nombre</field-name> <column-name>NOMBRE</column-name> </cmp-field> <cmp-field> <field-name>apellido</field-name> <column-name>APELLIDO</column-name> </cmp-field> <cmp-field> <field-name>saldo</field-name> <column-name>SALDO</column-name> </cmp-field> </entity> </enterprise-beans> </jbosscmp-jdbc> |
Se define el mapeo entre los parámetros del EJB con las columnas de la tabla, en este caso el mapeo es relativamente directo ya que los nombres de las columnas coinciden con los parámetros del EJB.