<?xml version="1.0" encoding="utf-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" 
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
                  xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
  <entity name="geosapiens\propesqBundle\Entity\UnidadeProdutiva" table="unidade_produtiva" inheritance-type="JOINED"
   repository-class="geosapiens\propesqBundle\Repository\UnidadeProdutivaRepository">
    <change-tracking-policy>DEFERRED_IMPLICIT</change-tracking-policy>
    <id name="id" type="integer" column="id">
      <generator strategy="SEQUENCE"/>
    </id>
    <field name="txtNomeExibicao" type="string" column="txt_nome_exibicao"/>
    <field name="datInformacao" type="datetime" column="dat_informacao"/>
    <field name="datInformacaoLocalidade" type="date" column="dat_informacao_localidade"/>
    <field name="txtOrigemInformacao" type="string" column="txt_origem_informacao" length="255"/>
    <field name="ownersName" type="string" column="owners_name" length="255"/>
    <field name="ownersNickname" type="string" column="owners_nickname" length="255" nullable="true"/>
    <field name="txtAparelhosPesca" type="text" column="txt_aparelhos_pesca" nullable="true"/>
    <field name="datInclusao" type="datetime" column="dat_inclusao"/>
    <field name="datEdicao" type="datetime" column="dat_edicao"/>
    <field name="datAnalise" type="datetime" column="dat_analise"/>
    <field name="indSituacao" type="smallint" column="ind_situacao"/>
    <field name="indHabilitada" type="boolean" column="ind_habilitada"/>
    <field name="indTipoPesca" type="smallint" column="ind_tipo_pesca"/>
    <field name="codSisPCSPA" type="integer" column="cod_sispcspa"/>
    <field name="indSituacaoSisPCSPA" type="smallint" column="ind_situacao_sispcspa"/>
    <field name="txtIdentificadorMobile" type="string" column="txt_identificador_mobile" length="40"/>    
<!--    <one-to-many field="vinculos" target-entity="UnidadeProdutivaPessoaFisicaVinculo" mapped-by="codUnidadeProdutiva" fetch="LAZY">
        <cascade><cascade-persist /></cascade>
    </one-to-many>-->
   <!---->

    <field name="geoLocalizacaoInclusao" type="geometry" column="geo_localizacao_inclusao"/>
    <field name="numPrecisaoInclusao" type="decimal"  precision="5"   column="num_precisao_inclusao" />
    <field name="datInclusaoMob" type="datetime" column="dat_inclusao_mob"/>
    <field name="geoLocalizacaoEdicao" type="geometry" column="geo_localizacao_edicao"/>
    <field name="numPrecisaoEdicao" type="decimal"  precision="5"   column="num_precisao_edicao" />
    <field name="datEdicaoMob" type="datetime" column="dat_edicao_mob"/>

    <!---->
    <one-to-one field="codLogEventosSinc" target-entity="geosapiens\propesqBundle\Entity\LogEventosSinc">
      <join-column name="cod_acesso_propesqmob_sinc" referenced-column-name="id" />
    </one-to-one>
    <many-to-one field="codPessoaRespEntrevista" target-entity="PessoaFisica" orphan-removal="">
      <join-columns>
        <join-column name="cod_pessoa_resp_entrevista" referenced-column-name="id"/>
      </join-columns>
    </many-to-one>
    <many-to-one field="codUsuarioRespInclusao" target-entity="Usuario" orphan-removal="">
      <join-columns>
        <join-column name="cod_usuario_resp_inclusao" referenced-column-name="id"/>
      </join-columns>
    </many-to-one>
    <many-to-one field="codUsuarioRespEdicao" target-entity="Usuario" orphan-removal="">
      <join-columns>
        <join-column name="cod_usuario_resp_edicao" referenced-column-name="id"/>
      </join-columns>
    </many-to-one>
    <many-to-one field="codUsuarioRespAnalise" target-entity="Usuario" orphan-removal="">
      <join-columns>
        <join-column name="cod_usuario_resp_analise" referenced-column-name="id"/>
      </join-columns>
    </many-to-one>
    <many-to-one field="codLocalidade" target-entity="Localidade" orphan-removal="">
      <join-columns>
        <join-column name="cod_localidade" referenced-column-name="id"/>
      </join-columns>
    </many-to-one>
    <one-to-many field="inatividades" target-entity="UnidadeProdutivaInatividade" mapped-by="codUnidadeProdutiva" fetch="LAZY" orphan-removal="true">
      <cascade><cascade-persist /></cascade>
    </one-to-many>
    <discriminator-column name="ind_tipo" type="smallint" />
    <discriminator-map>
        <discriminator-mapping value="1" class="UnidadeProdutivaEmbarcacao" />
        <discriminator-mapping value="2" class="UnidadeProdutivaPescador" />
        <discriminator-mapping value="3" class="UnidadeProdutivaParelha" />
        <discriminator-mapping value="4" class="UnidadeProdutivaCercoFlutuante" />
    </discriminator-map>
    <lifecycle-callbacks/>
  </entity>
</doctrine-mapping>
