Propiedades derivadas

Cálculos derivados

Hibernate permite indicar que el valor de una propiedad deriva de los valores de otras propiedades de la entidad.

Veamos el siguiente ejemplo sencillo de una factura y las lineas de la factura.

Facturaint idFacturaint numFacturaString nombreint importeTotalLineaFacturaint idLineaFacturaFactura facturaString productoint numUnidadesint precioUnitarioint importe1*

Las tablas serían las siguientes:

FacturaINTEGER idFacturaINTEGER numFacturaVARCHAR nombreINTEGER importeTotalLineaFacturaINTEGER idLineaFacturaINTEGER idFacturaVARCHAR productoINTEGER numUnidadesINTEGER precioUnitarioINTEGER importe1*

Hibernate incluye el atributo formula en los ficheros “hbm.xml” para indicar que una propiedad es derivada de otras.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
  <class name="Factura" table="Factura" >
    <id column="Id" name="idFactura" type="integer"/>
    <property name="numFactura" />
    <property name="nombre" />
    <property name="importeTotal" formula="(SELECT SUM(" />
  </class>
</hibernate-mapping>