>Hi Antonio,
Hi Armin,
>Could you post your stack trace too?
[BOOT] INFO: OJB.properties:
file:/E:/projects/fenix/fenix/config/OJB.properties
[org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl] INFO: Already
created persistence broker instances: 0
[org.apache.ojb.broker.util.sequence.SequenceManagerFactory] INFO: Use
sequence manager class: class
org.apache.ojb.broker.util.sequence.SequenceManagerHiLoImpl
[org.apache.ojb.broker.accesslayer.AbstractPoolableConnectionFactory] INFO:
# Create connection pool for JdbcDescriptorKey -820980640 #
[org.apache.ojb.broker.accesslayer.AbstractConnectionFactory] INFO: #
Already created connections: 1 returning :
org.gjt.mm.mysql.jdbc2.Connection@a33d48
[org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl] INFO: Already
created persistence broker instances: 1
[org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl] INFO: Already
created persistence broker instances: 2
[org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl] INFO: Already
created persistence broker instances: 3
[org.apache.ojb.broker.accesslayer.AbstractConnectionFactory] INFO: #
Already created connections: 2 returning :
org.gjt.mm.mysql.jdbc2.Connection@e790c
[org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl] INFO: Already
created persistence broker instances: 4
[org.apache.ojb.broker.accesslayer.JdbcAccess] ERROR: SQLException during
the execution of the insert (for a Dominio.Sitio): Invalid argument value:
Duplicate entry '1' for key 2
Invalid argument value: Duplicate entry '1' for key 2
java.sql.SQLException: Invalid argument value: Duplicate entry '1' for key 2
at org.gjt.mm.mysql.MysqlIO.sendCommand(MysqlIO.java:497)
at org.gjt.mm.mysql.MysqlIO.sqlQueryDirect(MysqlIO.java:550)
at org.gjt.mm.mysql.Connection.execSQL(Connection.java:885)
at
org.gjt.mm.mysql.PreparedStatement.executeUpdate(PreparedStatement.java:389)
at
org.apache.ojb.broker.accesslayer.JdbcAccess.executeInsert(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.store(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.store(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.store(Unknown Source)
at org.apache.ojb.odmg.states.StateNewDirty.commit(Unknown Source)
at org.apache.ojb.odmg.ObjectEnvelopeTable.commit(Unknown Source)
at org.apache.ojb.odmg.TransactionImpl.doCommit(Unknown Source)
at org.apache.ojb.odmg.TransactionImpl.commit(Unknown Source)
at ServidorPersistente.OJB.Application.newSitio(Application.java:50)
at ServidorPersistente.OJB.Application.<init>(Application.java:38)
at ServidorPersistente.OJB.Application.main(Application.java:60)
org.apache.ojb.broker.PersistenceBrokerSQLException
at
org.apache.ojb.broker.accesslayer.JdbcAccess.executeInsert(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.store(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.store(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.store(Unknown Source)
at org.apache.ojb.odmg.[org.apache.ojb.odmg.TransactionImpl] WARN:
Abort transaction was called on tx
org.apache.ojb.odmg.TransactionImpl@a52fdf, associated PB was null
[org.apache.ojb.odmg.TransactionImpl] WARN: Abort transaction was called on
tx org.apache.ojb.odmg.TransactionImpl@ea0252, associated PB was
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl@3e89c3
states.StateNewDirty.commit(Unknown Source)
at org.apache.ojb.odmg.ObjectEnvelopeTable.commit(Unknown Source)
at org.apache.ojb.odmg.TransactionImpl.doCommit(Unknown Source)
at org.apache.ojb.odmg.TransactionImpl.commit(Unknown Source)
at ServidorPersistente.OJB.Application.newSitio(Application.java:50)
at ServidorPersistente.OJB.Application.<init>(Application.java:38)
at ServidorPersistente.OJB.Application.main(Application.java:60)
>How does the Sitio class look like?
public class Sitio implements ISitio, Serializable {
private int _codigoInterno;
private int _chaveDisciplinaExecucao;
private List _seccoes;
/** Construtor sem argumentos p�blico requerido pela moldura de objectos
OJB */
public Sitio() {
}
public Sitio(int chaveDisciplinaExecucao) {
_chaveDisciplinaExecucao = chaveDisciplinaExecucao;
}
public int getCodigoInterno() {
return _codigoInterno;
}
public void setCodigoInterno(int codigoInterno) {
_codigoInterno = codigoInterno;
}
public int getChaveDisciplinaExecucao() {
return _chaveDisciplinaExecucao;
}
public void setChaveDisciplinaExecucao(int chaveDisciplinaExecucao) {
_chaveDisciplinaExecucao = chaveDisciplinaExecucao;
}
public List getSeccoes() {
return _seccoes;
}
public void setSeccoes(List seccoes) {
_seccoes = seccoes;
}
public boolean equals(Object obj) {
boolean resultado = false;
if (obj instanceof Sitio) {
Sitio sitio = (Sitio)obj;
resultado = (getChaveDisciplinaExecucao() ==
sitio.getChaveDisciplinaExecucao());
}
return resultado;
}
}
>Which version of OJB do you use?
0.95
Thanks,
Ant�nio
>
>regards,
>Armin
>
>> > public Application()
>>> {
>> > Implementation odmg = OJB.getInstance();
>> > Database db = odmg.newDatabase();
>> > try {
>> > db.open("ServidorPersistente/OJB/repository.xml",
>> >Database.OPEN_READ_WRITE);
>> > } catch (ODMGException ex) {
>> > }
>> >
>> > // create an object
>> > newSitio(1);
>> > // create the same object - fails on commit and then fails on
>> >catch/abort
>> > newSitio(1);
>> > // create a different object - fails, does not create the
>object...
>> > newSitio(2);
>> > }
>> >
>> > private void newSitio(int value) {
>> > Implementation odmg = OJB.getInstance();
>> > Transaction tx = odmg.newTransaction();
>> > try {
>> > ISitio sitio = null;
>> > tx.begin();
>> > sitio = new Sitio(value);
>> > tx.lock(sitio, tx.WRITE);
>> > tx.commit();
>> > } catch (Exception ex) {
>> > try {
>> > tx.abort();
>> > } catch (Exception exx) {
>> > }
>> > }
>> > }
>> >
>> > public static void main(String [] args) {
>> > Application app = new Application();
>> > }
>
>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>