Boa tarde!!
Eu estou tentando usar a tag formula no many-to-one, só que está dando um erro:
Se alguém puder ajudar, ou tiver alguma idéia, por favor me avise!!
org.hibernate.MappingException: property mapping has wrong number of columns: br.com.consist.databridge.bean.TituloClienteDBBean.especie type: br.com.consist.databridge.bean.SFTipoRegistroDBBean
at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:441)
at org.hibernate.mapping.RootClass.validate(RootClass.java:192)
at org.hibernate.cfg.Configuration.validate(Configuration.java:1102)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1287)
at br.com.consist.databridge.hibernate.util.HibernateUtil.<clinit>(HibernateUtil.java:11)
at br.com.consist.databridge.broker.TituloClienteDBBroker.getListaTituloCliente(TituloClienteDBBroker.java:83)
at br.com.consist.databridge.services.TituloClienteDBService.getListaTituloCliente(TituloClienteDBService.java:48)
at br.com.consist.databridge.ws.DataBridgeTituloClienteWS.getXML(DataBridgeTituloClienteWS.java:99)
at UseTituloClienteWS.main(UseTituloClienteWS.java:14)
este é o meu mapeamento:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="br.com.consist.databridge.bean">
<class name="TituloClienteDBBean" table="SF_TITULOS" >
<composite-id mapped="true">
<key-property name="codigoEmpresa" type="integer" column="SF22_EMPRESA" />
<key-property name="codigoMatGru" type="integer" column="SF22_MAT_GRU" />
<key-property name="cliente" type="string">
<column name="SF22_CLIENTE" sql-type="varchar" />
</key-property>
<key-property name="seqParcela" type="string">
<column name="SF22_SEQUENC" sql-type="varchar" />
</key-property>
<key-property name="numTitulo" type="big_decimal" column="SF22_NRTITUL" />
</composite-id>
<many-to-one name="empresa" class="GrupoEmpresaDBBean" lazy="false">
<column name="SF22_EMPRESA" />
<column name="SF22_MAT_GRU" />
</many-to-one>
<many-to-one name="especie" class="SFTipoRegistroDBBean" formula="(select * from SF_TIPO_REG where SF02_TIP_REG = 1 )" lazy="false" />
<property name= "codEspe" type="integer" column="SF22_CODESPE" />
<property name="tipoEspecie" type="integer" column="SF22_PAG_REC" />
<property name="dtVencimento" type="string">
<column name="SF22_DTVENCT" sql-type="integer" />
</property>
<property name="dtProrrogacao" type="string">
<column name="SF22_DTPRORR" sql-type="integer" />
</property>
<property name="dtPagtoEfet" type="string">
<column name="SF22_PGTOEFE" sql-type="integer" />
</property>
<property name="numVenda" type="integer" column="SF22_PEDIDO" />
<property name="notaFiscal" type="integer" column="SF22_NOTAFIS" />
<!-- <property name="qtdTitulos" type="string" column="" />
<property name="vlrTitulo" type="string">
<column name="sf22_vlrtitu" sql-type="double" />
</property> -->
</class>
</hibernate-mapping>