You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-user@db.apache.org by Fernando Queiroz Fonseca <fe...@eletrica.ufu.br> on 2004/02/26 02:38:31 UTC

many-to-one relation : help

Hi Armin thank's for the previous aid, now functions, using to advantage the
email would like to know as it makes to inside map an object of a
class-descriptor, I until then used hibernate and in it it used the
following code in the describer:

<many-to-one name="usuario"
class="br.com.fernandoqueiroz.sgbd.negocio.Usuario" not-null="true">
            <column name="id_usuario"/>
</many-to-one>

I am thankful since already Obliged !


----- Original Message ----- 
From: "Armin Waibel" <ar...@apache.org>
To: "OJB Users List" <oj...@db.apache.org>
Sent: Wednesday, February 25, 2004 9:05 PM
Subject: Re: Full Stack for : Can not init Identity for given object


> Hi Fernando,
>
> the exception message says what's going wrong
>
>  > Caused by:
> org.apache.ojb.broker.metadata.ClassNotPersistenceCapableException:
> org.apache.ojb.broker.util.sequence.HighLowSequence not found in OJB
> Repository
>  >
>
> If you use the SequenceManagerHighLowImpl for key generation, you need:
>
> a) org.apache.ojb.broker.util.sequence.HighLowSequence class-descriptor
> in your repository file
> b) an table
> CREATE TABLE OJB_HL_SEQ
> (
>      TABLENAME VARCHAR (175),
>      FIELDNAME VARCHAR (70),
>      MAX_KEY BIGINT,
>      GRAB_SIZE integer,
>      VERSION integer,
>      PRIMARY KEY(TABLENAME,FIELDNAME)
> );


> >>><!-- The mappings for the tutorial classes are placed here to make it
> >>>     easier to find them for OJB newbies.
> >>>     Please remove them if you don't need them in your environment. -->
> >>>
> >>><class-descriptor class="br.com.fernandoqueiroz.sgbd.negocio.Usuario"
table="TUSUARIO">
> >>>    <field-descriptor sequence-name="MAX" name="id_usuario"
column="id_usuario" jdbc-type="INTEGER" primarykey="true"
autoincrement="true"/>
> >>>    <field-descriptor name="usuario" column="usuario"
jdbc-type="VARCHAR"/>
> >>>    <field-descriptor name="senha" column="senha" jdbc-type="VARCHAR"/>
> >>>    <field-descriptor name="email" column="email" jdbc-type="VARCHAR"/>
> >>>    <field-descriptor name="cpf" column="cpf" jdbc-type="VARCHAR"/>
> >>></class-descriptor>
> >>><class-descriptor
class="br.com.fernandoqueiroz.sgbd.negocio.DadoPessoal"
table="TDADO_PESSOAL">
> >>>    <field-descriptor name="id" column="ID_DADO_PESSOAL"
jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> >>>    <field-descriptor name="nome" column="nome" jdbc-type="VARCHAR"/>
> >>>    <field-descriptor name="sobrenome" column="sobrenome"
jdbc-type="VARCHAR"/>
> >>>    <field-descriptor name="nacionalidade" column="nacionalidade"
jdbc-type="VARCHAR"/>
> >>>    <field-descriptor name="cidade_nascimento"
column="CIDADE_NASCIMENTO" jdbc-type="VARCHAR"/>
> >>>    <field-descriptor name="cpf" column="cpf" jdbc-type="VARCHAR"/>
> >>>    <field-descriptor name="data_nascimento" column="data_nascimento"
jdbc-type="VARCHAR"/>
> >>>    <field-descriptor name="sexo" column="sexo" jdbc-type="VARCHAR"/>
> >>>    <field-descriptor name="rg" column="rg" jdbc-type="VARCHAR"/>
> >>>    <field-descriptor name="rg_orgao" column="rg_orgao"
jdbc-type="VARCHAR"/>
> >>>    <field-descriptor name="rg_uf" column="rg_uf" jdbc-type="VARCHAR"/>
> >>>    <field-descriptor name="rg_data_emissao" column="rg_data_emissao"
jdbc-type="VARCHAR"/>
> >>>    <field-descriptor name="nro_passaporte" column="nro_passaporte"
jdbc-type="VARCHAR"/>
> >>>    <field-descriptor name="nome_pai" column="nome_pai"
jdbc-type="VARCHAR"/>
> >>>    <field-descriptor name="nome_mae" column="nome_mae"
jdbc-type="VARCHAR"/>
> >>>    <field-descriptor name="titulo_eleitor" column="titulo_eleitor"
jdbc-type="VARCHAR"/>
> >>>    <field-descriptor name="secao_eleitor" column="secao_eleitor"
jdbc-type="VARCHAR"/>
> >>>    <field-descriptor name="zona_eleitor" column="zona_eleitor"
jdbc-type="VARCHAR"/>
> >>>    <field-descriptor name="nome_citacao" column="NOME_CITACAO"
jdbc-type="VARCHAR"/>
> >>>    <reference-descriptor name="usuario"
class-ref="br.com.fernandoqueiroz.sgbd.negocio.Usuario">
> >>>        <foreignkey field-ref="id_usuario"/>
> >>>    </reference-descriptor>
> >>></class-descriptor>
> >>>
> >>>-------------------------------------------------------
> >>>Fernando Queiroz Fonseca
> >>>Analista e Programador Java/J2EE
> >>>Uberlândia - MG - Brasil
> >>>+55-0xx34-8801-9072
> >>>www.fernandoqueiroz.com.br
> >>>contato@fernandoqueiroz.com.br
> >>>-------------------------------------------------------


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


Re: many-to-one relation : help

Posted by Armin Waibel <ar...@apache.org>.
Hi Fernando,

I'm not an expert in the mapping stuff, so others can help more.
OJB don't have an extra element for many-to-one, you can solve this by 
using a one to many reference (collection-descriptor) and one to one 
reference (reference-descriptor).

I never used Hibernate, what's the different between many-to-one 
reference from Many to Usuario and a one-to-one reference from Many to 
Usuario? In both cases you ask for many.getUsuario() - or I'm wrong?

regards,
Armin


Fernando Queiroz Fonseca wrote:

> Hi Armin thank's for the previous aid, now functions, using to advantage the
> email would like to know as it makes to inside map an object of a
> class-descriptor, I until then used hibernate and in it it used the
> following code in the describer:
> 
> <many-to-one name="usuario"
> class="br.com.fernandoqueiroz.sgbd.negocio.Usuario" not-null="true">
>             <column name="id_usuario"/>
> </many-to-one>
> 
> I am thankful since already Obliged !
> 
> 
> ----- Original Message ----- 
> From: "Armin Waibel" <ar...@apache.org>
> To: "OJB Users List" <oj...@db.apache.org>
> Sent: Wednesday, February 25, 2004 9:05 PM
> Subject: Re: Full Stack for : Can not init Identity for given object
> 
> 
> 
>>Hi Fernando,
>>
>>the exception message says what's going wrong
>>
>> > Caused by:
>>org.apache.ojb.broker.metadata.ClassNotPersistenceCapableException:
>>org.apache.ojb.broker.util.sequence.HighLowSequence not found in OJB
>>Repository
>> >
>>
>>If you use the SequenceManagerHighLowImpl for key generation, you need:
>>
>>a) org.apache.ojb.broker.util.sequence.HighLowSequence class-descriptor
>>in your repository file
>>b) an table
>>CREATE TABLE OJB_HL_SEQ
>>(
>>     TABLENAME VARCHAR (175),
>>     FIELDNAME VARCHAR (70),
>>     MAX_KEY BIGINT,
>>     GRAB_SIZE integer,
>>     VERSION integer,
>>     PRIMARY KEY(TABLENAME,FIELDNAME)
>>);
> 
> 
> 
>>>>><!-- The mappings for the tutorial classes are placed here to make it
>>>>>    easier to find them for OJB newbies.
>>>>>    Please remove them if you don't need them in your environment. -->
>>>>>
>>>>><class-descriptor class="br.com.fernandoqueiroz.sgbd.negocio.Usuario"
> 
> table="TUSUARIO">
> 
>>>>>   <field-descriptor sequence-name="MAX" name="id_usuario"
> 
> column="id_usuario" jdbc-type="INTEGER" primarykey="true"
> autoincrement="true"/>
> 
>>>>>   <field-descriptor name="usuario" column="usuario"
> 
> jdbc-type="VARCHAR"/>
> 
>>>>>   <field-descriptor name="senha" column="senha" jdbc-type="VARCHAR"/>
>>>>>   <field-descriptor name="email" column="email" jdbc-type="VARCHAR"/>
>>>>>   <field-descriptor name="cpf" column="cpf" jdbc-type="VARCHAR"/>
>>>>></class-descriptor>
>>>>><class-descriptor
> 
> class="br.com.fernandoqueiroz.sgbd.negocio.DadoPessoal"
> table="TDADO_PESSOAL">
> 
>>>>>   <field-descriptor name="id" column="ID_DADO_PESSOAL"
> 
> jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> 
>>>>>   <field-descriptor name="nome" column="nome" jdbc-type="VARCHAR"/>
>>>>>   <field-descriptor name="sobrenome" column="sobrenome"
> 
> jdbc-type="VARCHAR"/>
> 
>>>>>   <field-descriptor name="nacionalidade" column="nacionalidade"
> 
> jdbc-type="VARCHAR"/>
> 
>>>>>   <field-descriptor name="cidade_nascimento"
> 
> column="CIDADE_NASCIMENTO" jdbc-type="VARCHAR"/>
> 
>>>>>   <field-descriptor name="cpf" column="cpf" jdbc-type="VARCHAR"/>
>>>>>   <field-descriptor name="data_nascimento" column="data_nascimento"
> 
> jdbc-type="VARCHAR"/>
> 
>>>>>   <field-descriptor name="sexo" column="sexo" jdbc-type="VARCHAR"/>
>>>>>   <field-descriptor name="rg" column="rg" jdbc-type="VARCHAR"/>
>>>>>   <field-descriptor name="rg_orgao" column="rg_orgao"
> 
> jdbc-type="VARCHAR"/>
> 
>>>>>   <field-descriptor name="rg_uf" column="rg_uf" jdbc-type="VARCHAR"/>
>>>>>   <field-descriptor name="rg_data_emissao" column="rg_data_emissao"
> 
> jdbc-type="VARCHAR"/>
> 
>>>>>   <field-descriptor name="nro_passaporte" column="nro_passaporte"
> 
> jdbc-type="VARCHAR"/>
> 
>>>>>   <field-descriptor name="nome_pai" column="nome_pai"
> 
> jdbc-type="VARCHAR"/>
> 
>>>>>   <field-descriptor name="nome_mae" column="nome_mae"
> 
> jdbc-type="VARCHAR"/>
> 
>>>>>   <field-descriptor name="titulo_eleitor" column="titulo_eleitor"
> 
> jdbc-type="VARCHAR"/>
> 
>>>>>   <field-descriptor name="secao_eleitor" column="secao_eleitor"
> 
> jdbc-type="VARCHAR"/>
> 
>>>>>   <field-descriptor name="zona_eleitor" column="zona_eleitor"
> 
> jdbc-type="VARCHAR"/>
> 
>>>>>   <field-descriptor name="nome_citacao" column="NOME_CITACAO"
> 
> jdbc-type="VARCHAR"/>
> 
>>>>>   <reference-descriptor name="usuario"
> 
> class-ref="br.com.fernandoqueiroz.sgbd.negocio.Usuario">
> 
>>>>>       <foreignkey field-ref="id_usuario"/>
>>>>>   </reference-descriptor>
>>>>></class-descriptor>
>>>>>
>>>>>-------------------------------------------------------
>>>>>Fernando Queiroz Fonseca
>>>>>Analista e Programador Java/J2EE
>>>>>Uberlândia - MG - Brasil
>>>>>+55-0xx34-8801-9072
>>>>>www.fernandoqueiroz.com.br
>>>>>contato@fernandoqueiroz.com.br
>>>>>-------------------------------------------------------
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
> 
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org