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)
);
in DB


regards,
Armin

Fernando Queiroz Fonseca wrote:

Hi Armin
thanks for aswer, lower is the full stack trace :

br.com.fernandoqueiroz.exceptions.ParameterException: 
org.apache.ojb.broker.metadata.ClassNotPersistenceCapableException: Can not init 
Identity for given object [EMAIL PROTECTED]
        at 
br.com.fernandoqueiroz.sgbd.persistencia.OJBDaoFactory.insere(OJBDaoFactory.java:163)
        at br.com.fernandoqueiroz.Teste.main(Teste.java:52)
Caused by: org.apache.ojb.broker.metadata.ClassNotPersistenceCapableException: Can not 
init Identity for given object [EMAIL PROTECTED]
        at org.apache.ojb.broker.Identity.init(Unknown Source)
        at org.apache.ojb.broker.Identity.<init>(Unknown Source)
        at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source)
        at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown Source)
        at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown Source)
        at 
br.com.fernandoqueiroz.sgbd.persistencia.OJBDaoFactory.insere(OJBDaoFactory.java:158)
        ... 1 more
Caused by: org.apache.ojb.broker.PersistenceBrokerException: Could not get key value
        at org.apache.ojb.broker.util.BrokerHelper.getAutoIncrementValue(Unknown 
Source)
        at org.apache.ojb.broker.util.BrokerHelper.getValuesForObject(Unknown Source)
        at org.apache.ojb.broker.util.BrokerHelper.getKeyValues(Unknown Source)
        ... 7 more
Caused by: org.apache.ojb.broker.util.sequence.SequenceManagerException: Can't build 
new sequence
        at 
org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl.getSequence(Unknown 
Source)
        at 
org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl.getUniqueLong(Unknown 
Source)
        at 
org.apache.ojb.broker.util.sequence.AbstractSequenceManager.getUniqueValue(Unknown 
Source)
        ... 10 more
Caused by: org.apache.ojb.broker.metadata.ClassNotPersistenceCapableException: 
org.apache.ojb.broker.util.sequence.HighLowSequence not found in OJB Repository
        at 
org.apache.ojb.broker.metadata.DescriptorRepository.getDescriptorFor(Unknown Source)
        at 
org.apache.ojb.broker.metadata.DescriptorRepository.getDescriptorFor(Unknown Source)
        at org.apache.ojb.broker.core.PersistenceBrokerImpl.getClassDescriptor(Unknown 
Source)
        at org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(Unknown 
Source)
        at 
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(Unknown Source)
        at 
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(Unknown Source)
        at 
org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl.lookupStoreSequence(Unknown
 Source)
        ... 13 more


----- Original Message ----- From: "Armin Waibel" <[EMAIL PROTECTED]>
To: "OJB Users List" <[EMAIL PROTECTED]>
Sent: Tuesday, February 24, 2004 5:58 AM
Subject: Re: Error : Can not init Identity for given object




Hi Fernando,

is this the whole stack trace? If not please post the complete one.

regards,
Armin

Fernando Queiroz Fonseca wrote:

Hi.
I made download of ojb and I installed, I create the archives of repositories and I configured following tables in the archive repository_user.xml <!-- Please keep user defined mappings in this file only
to avoid mixing user defined and system mappings. -->
<!-- Mapping of User defined classes starts here -->


<!-- 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.GrandeArea" table="C_TGRANDE_AREA"> <field-descriptor name="id_grande_area" column="id_grande_area" jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
<field-descriptor name="nome_grande_area" column="nome_grande_area" 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>


<!-- Mapping of User defined classes ends here -->
e the archive repository_database.xml this of the following skill: <jdbc-connection-descriptor jcd-alias="default" default-connection="true"
platform="MsSQLServer"
jdbc-level="2.0" driver="com.microsoft.jdbc.sqlserver.SQLServerDriver" protocol="jdbc"
subprotocol="microsoft"
dbalias="sqlserver://feeltserver2.eletrica.ufu.br:1433;DatabaseName=sgbd" username="java" password="jsenha"
eager-release="false"
useAutoCommit="1"
ignoreAutoCommitExceptions="false"
batch-mode="false">


<connection-pool maxActive="4" whenExhaustedAction="0" validationQuery=""/>

<sequence-manager className="org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl">
<attribute attribute-name="grabSize" attribute-value="20"/>
<attribute attribute-name="autoNaming" attribute-value="true"/>
<attribute attribute-name="globalSequenceId" attribute-value="false"/>
<attribute attribute-name="globalSequenceStart" attribute-value="10000"/>
</sequence-manager>
</jdbc-connection-descriptor>
however when trying to insert without set the primary key (id) that I declared as auto-increment occurs the following error: br.com.fernandoqueiroz.exceptions.ParameterException: org.apache.ojb.broker.metadata.ClassNotPersistenceCapableException: Can not init Identity for given object [EMAIL PROTECTED]
at br.com.fernandoqueiroz.sgbd.persistencia.OJBDaoFactory.insere(OJBDaoFactory.java:152)
at br.com.fernandoqueiroz.Teste.main(Teste.java:48)
please they help me?


-------------------------------------------------------
Fernando Queiroz Fonseca
Analista e Programador Java/J2EE
Uberl�ndia - MG - Brasil
+55-0xx34-8801-9072
www.fernandoqueiroz.com.br
[EMAIL PROTECTED]
-------------------------------------------------------

--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]




--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to