Can use tranditional-Chinese in where condition of OQL?

2004-01-07 Thread
Hi!
Does anyone use  tranditional-Chinese(non English) in where condition of oql, 
and query object successfully?
I try to do this,but I get a error message. As :

[0] List all product entries
[1] Enter a new product
[2] Edit a product entry
[3] Delete a product entry
[4] Quit Application
type in number to select a use case
0
The list of available products:
OQL = select allproducts from org.apache.ojb.tutorial2.Product where name =''
antlr.TokenStreamRecognitionException: expecting ''', found ''
at org.apache.ojb.odmg.oql.OQLLexer.nextToken(OQLLexer.java:270)
at antlr.TokenBuffer.fill(TokenBuffer.java:61)
at antlr.TokenBuffer.LA(TokenBuffer.java:70)
at antlr.LLkParser.LA(LLkParser.java:50)
at org.apache.ojb.odmg.oql.OQLParser.equalityExpr(OQLParser.java:673)
at org.apache.ojb.odmg.oql.OQLParser.quantifierExpr(OQLParser.java:631)
at org.apache.ojb.odmg.oql.OQLParser.andExpr(OQLParser.java:579)
at org.apache.ojb.odmg.oql.OQLParser.orExpr(OQLParser.java:460)
at org.apache.ojb.odmg.oql.OQLParser.whereClause(OQLParser.java:322)
at org.apache.ojb.odmg.oql.OQLParser.selectQuery(OQLParser.java:130)
at org.apache.ojb.odmg.oql.OQLParser.buildQuery(OQLParser.java:77)
at org.apache.ojb.odmg.oql.OQLQueryImpl.create(OQLQueryImpl.java:236)
at org.apache.ojb.odmg.oql.OQLQueryImpl.create(OQLQueryImpl.java:207)
at org.apache.ojb.tutorial2.UCListAllProducts.apply(UCListAllProducts.java:42)
at org.apache.ojb.tutorial2.Application.run(Application.java:109)
at org.apache.ojb.tutorial2.Application.main(Application.java:75)
org.odmg.QueryInvalidException: expecting ''', found ''
at org.apache.ojb.odmg.oql.OQLQueryImpl.create(OQLQueryImpl.java:250)
at org.apache.ojb.odmg.oql.OQLQueryImpl.create(OQLQueryImpl.java:207)
at org.apache.ojb.tutorial2.UCListAllProducts.apply(UCListAllProducts.java:42)
at org.apache.ojb.tutorial2.Application.run(Application.java:109)
at org.apache.ojb.tutorial2.Application.main(Application.java:75)

Who can help me? Thanks you.
Dogie Tsai

RE: Update Problem : Cannot convert class java.lang.Integer

2004-01-07 Thread Hennebelle
Hi !

Have you try to make a conversion in your repository ?
You have a class in OJB who convert INT on INTEGER (and the opposite), the
name is Int2IntegerFieldConversion.
You put a field in the repository like this (my example is a date, it works)
:
!--
 COLUMN D8CLEH


--

field-descriptor id=18
  name=d8cleh
  column=D8CLEH
  jdbc-type=TIMESTAMP

conversion=org.apache.ojb.broker.accesslayer.conversions.JavaDate2SqlTimest
ampFieldConversion

/
Here, my example convert a Date in an sql.Timestamp (in my bean class, the
attribute has the type : java.util.Date)


Hope this can help

Cheers

-Message d'origine-
De : António Jorge Silva [mailto:[EMAIL PROTECTED]
Envoyé : mercredi 7 janvier 2004 05:14
À : [EMAIL PROTECTED]
Objet : Update Problem : Cannot convert class java.lang.Integer


Hi all !

I'm having  trouble when i try to update this object

the object is :

public class ComponenteAvaliacao implements IComponenteAvaliacao {
 private String _nome;
 private ISitio _sitio;
 private java.sql.Timestamp _inicioInscricoes;
 private java.sql.Timestamp _fimInscricoes;
 private int _peso;
 private int _classificacaoMinima;
 private java.sql.Timestamp _data;
 private int _duracao;
 private int _publicado;

 private List _notas;
 private List _inscritos;
 private List _salas;
 private List _pautas;

  // codigos internos da base de dados
 private int _codigoInterno;
 private int _chaveSitio;

}

With all the getters and setters and in OJB i have this

class-descriptor class=Dominio.ComponenteAvaliacao
table=COMPONENTEAVALIACAO
field-descriptor name=codigoInterno column=CODIGO_INTERNO
jdbc-type=INTEGER
  primarykey=true autoincrement=true/
field-descriptor name=nome column=NOME jdbc-type=VARCHAR/
field-descriptor name=chaveSitio column=CHAVE_SITIO
jdbc-type=INTEGER/
field-descriptor name=inicioInscricoes column=INICIO_INSCRICOES
jdbc-type=TIMESTAMP/
field-descriptor name=fimInscricoes column=FIM_INSCRICOES
jdbc-type=TIMESTAMP/
field-descriptor name=peso column=PESO jdbc-type=INTEGER/
field-descriptor name=classificacaoMinima
column=CLASSIFICACAO_MINIMA jdbc-type=INTEGER/
field-descriptor name=data column=DATA jdbc-type=TIMESTAMP/
field-descriptor name=duracao column=DURACAO
jdbc-type=INTEGER/
field-descriptor name=publicado column=PUBLICADO
jdbc-type=INTEGER/
reference-descriptor name=sitio class-ref=Dominio.Sitio 
foreignkey field-ref=chaveSitio/
/reference-descriptor
collection-descriptor name=notas
element-class-ref=Dominio.ResultadoAvaliacao
inverse-foreignkey field-ref=chaveAvaliacao/
/collection-descriptor
collection-descriptor name=inscritos
element-class-ref=Dominio.InscricaoComponenteAvaliacao
inverse-foreignkey field-ref=chaveAvaliacao/
/collection-descriptor
collection-descriptor

collection-class=org.apache.ojb.broker.util.collections.ManageableArrayList

name=salas
element-class-ref=Dominio.Sala
indirection-table=COMPONENTEAVALIACAOSALA
  
 fk-pointing-to-this-class column=CHAVE_AVALIACAO/
 fk-pointing-to-element-class column=CHAVE_SALA/
/collection-descriptor
collection-descriptor

collection-class=org.apache.ojb.broker.util.collections.ManageableArrayList

name=pautas
element-class-ref=Dominio.Pauta
indirection-table=PAUTACOMPONENTEAVALIACAO
  
 fk-pointing-to-this-class column=CHAVE_AVALIACAO/
 fk-pointing-to-element-class column=CHAVE_PAUTA/
/collection-descriptor
/class-descriptor

The dump of the exception was :

[org.apache.ojb.broker.accesslayer.JdbcAccessImpl] ERROR: SQLException
during the execution of the Update SQL query (for a
Dominio.ComponenteAvaliacao): Cannot convert class java.lang.Integer to SQL
type requested due to java.lang.ArrayIndexOutOfBoundsException - 2
Cannot convert class java.lang.Integer to SQL type requested due to
java.lang.ArrayIndexOutOfBoundsException - 2
java.sql.SQLException: Cannot convert class java.lang.Integer to SQL type
requested due to java.lang.ArrayIndexOutOfBoundsException - 2
at
com.mysql.jdbc.PreparedStatement.setObject(PreparedStatement.java:861)
at
com.mysql.jdbc.PreparedStatement.setObject(PreparedStatement.java:881)
at
org.apache.ojb.broker.platforms.PlatformDefaultImpl.setObjectForStatement(Un
known Source)
at
org.apache.ojb.broker.platforms.PlatformMySQLImpl.setObjectForStatement(Unkn
own Source)
at
org.apache.ojb.broker.accesslayer.StatementManager.bindValues(Unknown
Source)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeUpdateSQL(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeMtoNImplementor(Unknow
n Source)
at

RE: Update Problem : Cannot convert class java.lang.Integer

2004-01-07 Thread António Jorge Silva
Thank you for the answer but i've found the solution.

It's cause by a bad definition of a primary key in a table related with this
one.
That's quite a weird error message anyway.

Thank's for the help,
Antonio

-Original Message-
From: Hennebelle [mailto:[EMAIL PROTECTED]
Sent: quarta-feira, 7 de Janeiro de 2004 8:25
To: 'OJB Users List'
Subject: RE: Update Problem : Cannot convert class java.lang.Integer


Hi !

Have you try to make a conversion in your repository ?
You have a class in OJB who convert INT on INTEGER (and the opposite), the
name is Int2IntegerFieldConversion.
You put a field in the repository like this (my example is a date, it works)
:
!--
 COLUMN D8CLEH


--

field-descriptor id=18
  name=d8cleh
  column=D8CLEH
  jdbc-type=TIMESTAMP

conversion=org.apache.ojb.broker.accesslayer.conversions.JavaDate2SqlTimest
ampFieldConversion

/
Here, my example convert a Date in an sql.Timestamp (in my bean class, the
attribute has the type : java.util.Date)


Hope this can help

Cheers

-Message d'origine-
De : António Jorge Silva [mailto:[EMAIL PROTECTED]
Envoyé : mercredi 7 janvier 2004 05:14
À : [EMAIL PROTECTED]
Objet : Update Problem : Cannot convert class java.lang.Integer


Hi all !

I'm having  trouble when i try to update this object

the object is :

public class ComponenteAvaliacao implements IComponenteAvaliacao {
 private String _nome;
 private ISitio _sitio;
 private java.sql.Timestamp _inicioInscricoes;
 private java.sql.Timestamp _fimInscricoes;
 private int _peso;
 private int _classificacaoMinima;
 private java.sql.Timestamp _data;
 private int _duracao;
 private int _publicado;

 private List _notas;
 private List _inscritos;
 private List _salas;
 private List _pautas;

  // codigos internos da base de dados
 private int _codigoInterno;
 private int _chaveSitio;

}

With all the getters and setters and in OJB i have this

class-descriptor class=Dominio.ComponenteAvaliacao
table=COMPONENTEAVALIACAO
field-descriptor name=codigoInterno column=CODIGO_INTERNO
jdbc-type=INTEGER
  primarykey=true autoincrement=true/
field-descriptor name=nome column=NOME jdbc-type=VARCHAR/
field-descriptor name=chaveSitio column=CHAVE_SITIO
jdbc-type=INTEGER/
field-descriptor name=inicioInscricoes column=INICIO_INSCRICOES
jdbc-type=TIMESTAMP/
field-descriptor name=fimInscricoes column=FIM_INSCRICOES
jdbc-type=TIMESTAMP/
field-descriptor name=peso column=PESO jdbc-type=INTEGER/
field-descriptor name=classificacaoMinima
column=CLASSIFICACAO_MINIMA jdbc-type=INTEGER/
field-descriptor name=data column=DATA jdbc-type=TIMESTAMP/
field-descriptor name=duracao column=DURACAO
jdbc-type=INTEGER/
field-descriptor name=publicado column=PUBLICADO
jdbc-type=INTEGER/
reference-descriptor name=sitio class-ref=Dominio.Sitio 
foreignkey field-ref=chaveSitio/
/reference-descriptor
collection-descriptor name=notas
element-class-ref=Dominio.ResultadoAvaliacao
inverse-foreignkey field-ref=chaveAvaliacao/
/collection-descriptor
collection-descriptor name=inscritos
element-class-ref=Dominio.InscricaoComponenteAvaliacao
inverse-foreignkey field-ref=chaveAvaliacao/
/collection-descriptor
collection-descriptor

collection-class=org.apache.ojb.broker.util.collections.ManageableArrayList

name=salas
element-class-ref=Dominio.Sala
indirection-table=COMPONENTEAVALIACAOSALA
  
 fk-pointing-to-this-class column=CHAVE_AVALIACAO/
 fk-pointing-to-element-class column=CHAVE_SALA/
/collection-descriptor
collection-descriptor

collection-class=org.apache.ojb.broker.util.collections.ManageableArrayList

name=pautas
element-class-ref=Dominio.Pauta
indirection-table=PAUTACOMPONENTEAVALIACAO
  
 fk-pointing-to-this-class column=CHAVE_AVALIACAO/
 fk-pointing-to-element-class column=CHAVE_PAUTA/
/collection-descriptor
/class-descriptor

The dump of the exception was :

[org.apache.ojb.broker.accesslayer.JdbcAccessImpl] ERROR: SQLException
during the execution of the Update SQL query (for a
Dominio.ComponenteAvaliacao): Cannot convert class java.lang.Integer to SQL
type requested due to java.lang.ArrayIndexOutOfBoundsException - 2
Cannot convert class java.lang.Integer to SQL type requested due to
java.lang.ArrayIndexOutOfBoundsException - 2
java.sql.SQLException: Cannot convert class java.lang.Integer to SQL type
requested due to java.lang.ArrayIndexOutOfBoundsException - 2
at
com.mysql.jdbc.PreparedStatement.setObject(PreparedStatement.java:861)
at
com.mysql.jdbc.PreparedStatement.setObject(PreparedStatement.java:881)
at
org.apache.ojb.broker.platforms.PlatformDefaultImpl.setObjectForStatement(Un

RE: ojbdoclet task in ant build.xml

2004-01-07 Thread Thomas Dudziak
 1. Which version(s) of the XML Parser is suitable for torque? I have got
 the same error with Xerces 2.6.0 (the latest version).

The one that comes with OJB (in the lib folder) works without problems
when you use the dtdUrl attribute (see below).
 
 2. I am using torque, version 3.0.2 and apparently the 'dtdUrl'
 attribute is not known...
If I edit the build-torque.xml as follows...
 
 torque-sql
   contextProperties=${build.properties}
   controlTemplate=${SQLControlTemplate}
   outputDirectory=${torque.home}/${outputDirectory}/sql
   useClasspath=true
   basePathToDbProps=sql/base/
   sqldbmap=${torque.home}/${outputDirectory}/sql/sqldb.map
   outputFile=report.${project}.sql.generation
   targetDatabase=${database}
   dtdUrl=src/schema/database.dtd
   idTableXMLFile=${idTableXMLFile}
   fileset dir=${torque.home}/${schemaDirectory}
 include name=*-schema.xml/
   /fileset
 /torque-sql
 
the torque task complains that it does not support the dtdurl
 attribute.

Ahem, no, the dtdUrl is not a property of the torque-sql task but of the
torque subtask of the XDoclet OJB module (the torque-sql task is only the
place where the error occurs). You use it like this:

taskdef name=ojbdoclet
 classname=xdoclet.modules.ojb.OjbDocletTask
 classpathref=project.class.path/

ojbdoclet destdir=${build.dir}
fileset dir=${src.dir}/
ojbrepository destinationFile=${ojb.repository.file}/
torqueschema databaseName=${project}

dtdUrl=http://db.apache.org/torque/dtd/database_3_0_1.dtd;
  destinationFile=${ojb.schema.file}/
/ojbdoclet

Tom



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



Re: Sequence Manager for HSQLDB + JBOSS

2004-01-07 Thread Armin Waibel
Hi Brian,

Brian Sam-Bodden wrote:

Fellow OJBers,
  I have an application running on JBoss 3.0.8, using
I recommend you to use JBoss 3.2.2 or higher. In all other 3.x versions 
there seems to be a bug in connection resource handling of JBoss (we 
introduce eager-release attribute as workaround, but this seems to be 
cause side-effects when using complex object model)

the latest version of OJB (from CVS). I'm using the
provided HSQLDB version that comes with JBoss.
  I have a couple of questions on the setup:
1). Which OJB internal tables do I need?
you can use OJB without any internal tables. More info see
http://db.apache.org/ojb/platforms.html
When are this
tables generated. I see them in them in
repository_internal.xml. Do they get created the first
time they are needed? Or do I have to create them?
you have to create them yourself. OJB use torque to create all tables 
used in the tutorials/junit tests. See ant target in build.xml

2). From reading the newsgroups posting I see that hsql
does not support database based key generation.
right, hsql only supports Identity columns.

So I
switch the sequence manager className in my jdbc
connection to use the HighLo Seq manager. Of course
that one depends on one of the internal tables. I'm
assuming that if the database is not shared the
InMemory manager is the way to go for performance
reasons, right?
yes, if it's not shared and JBoss is not clustered.

3.) THe application in its current state uses a
SessionBean to do all of the data access. I seem to be
able to do queries just fine but when I try to insert a
new object I get the error shown below. Also, the PK
for this object is an Integer field. Should I set that
value to null for a new object, since the Seq. Manager
is going to assign that value? I don't see the Seq Man
classes involved in the error below. So I guess it
might be something I goofed on. Any help would be
appreaciated. I have followed the instructions on the
deployment page, for deploying on JBoss (sar creation).
Here's one of the simple mappings that produces the
error below
In managed environments it's not allowed to start pb-transaction (or any 
other, except JTA UserTransaction):

 try {
   !!  broker.beginTransaction();
 broker.store(conference);
   !!broker.commitTransaction();
 } catch (PersistenceBrokerException pbe) {
 result = false;
   !! broker.abortTransaction();
 } finally {
 if (broker != null) broker.close();
 }
In your deployment descriptor you enabled cm-tx (xdoclet:   * 
@ejb.transaction type=Required), thus all tx demarcation will be done 
by the container.

regards,
Armin
!-- file containing the repository descriptions for
user-defined types --
!-- Generated by the xdoclet-ojb module --
class-descriptor
class=com.ejdoab.pojos.Conference
table=conferences
 
field-descriptor
name=id
column=PK_ID
jdbc-type=INTEGER
primarykey=true
autoincrement=true

/field-descriptor
field-descriptor
name=name
column=NAME
jdbc-type=VARCHAR

/field-descriptor
field-descriptor
name=description
column=DESCRIPTION
jdbc-type=LONGVARCHAR

/field-descriptor
field-descriptor
name=startDate
column=STARTDATE
jdbc-type=DATE

/field-descriptor
field-descriptor
name=endDate
column=ENDDATE
jdbc-type=DATE

/field-descriptor
field-descriptor
name=abstractSubmissionStartDate
column=ABSTRACTSUBMISSIONSTARTDATE
jdbc-type=DATE

/field-descriptor
field-descriptor
name=abstractSubmissionEndDate
column=ABSTRACTSUBMISSIONENDDATE
jdbc-type=DATE

/field-descriptor
/class-descriptor
The code for this looks like (in the SessionBean)

...

 * @ejb.bean
 *  name=ConferenceFacade
 *  type=Stateless
 *  view-type=both
 *  jndi-name=ejb.ConferenceFacadeHome
 *  local-jndi-name=ejb.ConferenceFacadeLocalHome
 * @ejb.transaction
 *  type=Required
 * @ejb.util
 *  generate=physical
 */
public abstract class ConferenceFacadeBean implements
SessionBean {
...
/**
 * @ejb.interface-method
 * @ejb.transaction
 *  type=NotSupported
 *
 * @return
*/   
public boolean saveConference(Conference conference) {
PersistenceBroker broker =
pbf.defaultPersistenceBroker();
boolean result = true;
   
try {
broker.beginTransaction();
broker.store(conference);
broker.commitTransaction();
} catch (PersistenceBrokerException pbe) {
result = false;
broker.abortTransaction();
} finally {
if (broker != null) broker.close();
}
   
return result;
}
...

2004-01-03 21:58:33,534 ERROR
[org.apache.ojb.broker.accesslayer.JdbcAccessImpl]

Re: Fwd: Using a non-existent collection inside a query

2004-01-07 Thread Armin Waibel
Hi Edson,

do you have a test case to show the problem? This would be helpful to 
test your new feature or to find another solution.

regards,
Armin
Edson Carlos Ericksson Richter wrote:
(sorry, was a momentary lapse of reason when I clicked the send button).

Hi!

I'm facing a problem: I've a nice piece of sofware that load modules at
runtime.
Mostly, each module has their own .xml file with necessary configuration.
So, there are no problem here.
But imagine that I've a customer_repository.xml, that references a quite
large table (let's say 100.000, to take easy to imagine). If each customer
has 1:n fone numbers, 1:n address, 1:documents, 1:n anything else, and so
on, I need to make use of the Proxies, or I'll crash server (or workstation)
memory (even with 512Mb). Ok, that's fine. But when I open my Swing UI,
every JTable, JList, JCombo and so on insists in materialize every 1:N
mapping in .XML file. So, I have a very large time when materializing
objects (to materialize one single person I take near 2 seconds... A user
clicking away in the machine think that this is a long time to wait for
a simple navigation in records!
So I started to think in a solution where the collection is used when
mounting the WHERE clauses, but not when loading/writing objects to
database. And I started with API to create on-the-fly collections.
All worked well, as I imagined (I can add the collection and play with
fine), but the first time I've attempted to write one customer object I get
that some method X was not found in object Y... And if I put the method X, I
get column Z not in table from my database. So, the OJB is trying to
persist the collection (even if I set the auto retrieve, auto update and
auto delete as false). Since I thinked in terms of virtual collection (that
can exists or not), and the queries and materialization are working fine, I
started to imagine the I need to make a patch to guarantee that the
collection will never be stored. Then, I've added a attribute virtual
that, when receives true, is ignored by storeCollections loop.
My question is: can this be added to core OJB distribution, or I'll always
need to patch my own versions of OJB?
The method was modified on PersistenceBrokerImpl is (just the
if(!true.equals(cds.getAttribute(virtual))) was added, and the
respective block start and end), and doesn't affect nobody else than who
wanna use these virtual collection way of work (I can send the code sample
where I'm using this, if you want):
private void storeCollections(Object obj, Vector vecCds) throws
PersistenceBrokerException
{
// get all members of obj that are collections and store all their elements
Iterator i = vecCds.iterator();
while (i.hasNext())
{
CollectionDescriptor cds = (CollectionDescriptor) i.next();
if(!true.equals(cds.getAttribute(virtual))) {
Object col = cds.getPersistentField().get(obj);
Collection currentMtoNKeys = null;
if (col == null)
{
if (cds.isMtoNRelation())
{
deleteMtoNImplementor(cds, obj);
}
}
else
{
// MBAIRD
// if the collection is a collectionproxy and it's not already loaded
// no need to store it.
if (col instanceof CollectionProxy  !((CollectionProxy) col).isLoaded())
{
continue;
}
if (cds.isMtoNRelation())
{
currentMtoNKeys = getMtoNImplementor(cds, obj);
// delete unused m:n implementors
deleteMtoNImplementor(cds, obj, (Collection)col, currentMtoNKeys);
}
Iterator colIterator;
if (col instanceof ManageableCollection)
{
colIterator = ((ManageableCollection) col).ojbIterator();
}
else if (col instanceof Collection)
{
colIterator = ((Collection) col).iterator();
}
else if (col.getClass().isArray())
{
colIterator = new ArrayIterator(col);
}
else
{
throw new OJBRuntimeException(
col.getClass()
+  can not be managed by OJB, use Array, Collection or ManageableCollection
instead !);
}
while (colIterator.hasNext())
{
Object otherObj = colIterator.next();
// for m:n mapped collections store association implementing entries
if (cds.isMtoNRelation())
{
// 1. Store depended upon object first to avoid FK violation
storeCollectionObject(cds, otherObj);
// 2. Store indirection record
// BRJ: this could cause integrity problems because
// obj may not be stored depending on auto-update
storeMtoNImplementor(cds, obj, otherObj, currentMtoNKeys);
}
// for 1:n mapped collection assert proper fk assignment
else
{
if (cds.getCascadeStore())
{
// BRJ: do not assign fk if not required
// to avoid materialization of proxy
assertFkAssignment(otherObj, obj, cds);
}
storeCollectionObject(cds, otherObj);
}
}
// invoke callback on collection
if (col instanceof ManageableCollection)
{
((ManageableCollection) col).afterStore(this);
}
}
}
}
}




---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.554 / Virus Database: 346 - Release Date: 20/12/2003


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


Complex Query with Exists

2004-01-07 Thread Frederick Tsang
Hi All,

I have been looking into the mailing list and docs but I am a bit
confused about what I am supposed to use.

This is my problem.

I have a 1:m relationship between a property and propertyDates.
The property Dates contain a startDate and a endDate and describes a
period that is busy.

I need to make a search and find out ALL the properties that do not have
a busy period.

IN SQL it would look something like this.

SELECT * FROM PROPERTY WHERE NOT EXISTS
(SELECT * FROM PROPERTY_DATES WHERE
PROPERTY_DATES.PROPERTY_ID=PROPERTY.ID
START_DATE  01/01/04 and
END_DATE  01/01/04).

However I really don't want to use SQL to do this, I really want to use
OJB. I have seen some things in a thread 'NOT EXISTS CRITERIA' and
explaining the use of a reportQuery but I could not see how to adapt it
to my problem.

Thank you for taking the time to read this.

Frederick Tsang




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



SequenceManagerMySQLImpl

2004-01-07 Thread Claudio Romano

Hi all,

i updated OJB from the rc3 to rc5. Now i have a problem with tables
without an
auto increment field. The Method afterStore in the
SequenceManagerMySQLImpl
class alway throws ArrayIndexOutOfBoundsException on these tables.

Am i doing something wrong?

This change causes my exception:

diff -u -r1.14 -r1.15 
public void afterStore(JdbcAccess dbAccess, ClassDescriptor cld, Object
obj) 
 throws SequenceManagerException
 {
 
-FieldDescriptor fd = cld.getAutoIncrementField();
+FieldDescriptor fd = cld.getAutoIncrementFields()[0];



Thanks
Claudio Romano

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



Re: Can use tranditional-Chinese in where condition of OQL?

2004-01-07 Thread Thomas Mahler
Hi !

I guess you should use \ instead of ':
select allproducts from org.apache.ojb.tutorial2.Product where name =

The Lexer does not complain about the chinese characters but about the
missing \ !

hope that help!
Thomas

 wrote:
 Hi!
 Does anyone use  tranditional-Chinese(non English) in where condition of 
 oql, and query object successfully?
 I try to do this,but I get a error message. As :
 
 [0] List all product entries
 [1] Enter a new product
 [2] Edit a product entry
 [3] Delete a product entry
 [4] Quit Application
 type in number to select a use case
 0
 The list of available products:
 OQL = select allproducts from org.apache.ojb.tutorial2.Product where name =''
 antlr.TokenStreamRecognitionException: expecting ''', found ''
 at org.apache.ojb.odmg.oql.OQLLexer.nextToken(OQLLexer.java:270)
 at antlr.TokenBuffer.fill(TokenBuffer.java:61)
 at antlr.TokenBuffer.LA(TokenBuffer.java:70)
 at antlr.LLkParser.LA(LLkParser.java:50)
 at org.apache.ojb.odmg.oql.OQLParser.equalityExpr(OQLParser.java:673)
 at org.apache.ojb.odmg.oql.OQLParser.quantifierExpr(OQLParser.java:631)
 at org.apache.ojb.odmg.oql.OQLParser.andExpr(OQLParser.java:579)
 at org.apache.ojb.odmg.oql.OQLParser.orExpr(OQLParser.java:460)
 at org.apache.ojb.odmg.oql.OQLParser.whereClause(OQLParser.java:322)
 at org.apache.ojb.odmg.oql.OQLParser.selectQuery(OQLParser.java:130)
 at org.apache.ojb.odmg.oql.OQLParser.buildQuery(OQLParser.java:77)
 at org.apache.ojb.odmg.oql.OQLQueryImpl.create(OQLQueryImpl.java:236)
 at org.apache.ojb.odmg.oql.OQLQueryImpl.create(OQLQueryImpl.java:207)
 at 
 org.apache.ojb.tutorial2.UCListAllProducts.apply(UCListAllProducts.java:42)
 at org.apache.ojb.tutorial2.Application.run(Application.java:109)
 at org.apache.ojb.tutorial2.Application.main(Application.java:75)
 org.odmg.QueryInvalidException: expecting ''', found ''
 at org.apache.ojb.odmg.oql.OQLQueryImpl.create(OQLQueryImpl.java:250)
 at org.apache.ojb.odmg.oql.OQLQueryImpl.create(OQLQueryImpl.java:207)
 at 
 org.apache.ojb.tutorial2.UCListAllProducts.apply(UCListAllProducts.java:42)
 at org.apache.ojb.tutorial2.Application.run(Application.java:109)
 at org.apache.ojb.tutorial2.Application.main(Application.java:75)
 
 Who can help me? Thanks you.
 Dogie 
 Tsai


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



Re: SequenceManagerMySQLImpl

2004-01-07 Thread Thomas Mahler
Hi Claudio,

To work with sequence numbering you have to declare the respective 
attribute as autoincrement=true.
If you don't do this you can not expect the sequence manager to work for 
those tables!

Thomas

Claudio Romano wrote:
Hi all,

i updated OJB from the rc3 to rc5. Now i have a problem with tables
without an
auto increment field. The Method afterStore in the
SequenceManagerMySQLImpl
class alway throws ArrayIndexOutOfBoundsException on these tables.
Am i doing something wrong?

This change causes my exception:

diff -u -r1.14 -r1.15 
public void afterStore(JdbcAccess dbAccess, ClassDescriptor cld, Object
obj) 
 throws SequenceManagerException
 {
 
-FieldDescriptor fd = cld.getAutoIncrementField();
+FieldDescriptor fd = cld.getAutoIncrementFields()[0];



Thanks
Claudio Romano
-
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]


PB Tutorial (ERROR) and question

2004-01-07 Thread Daniel Perry
I was just reading the tutorial on the PB API, and came accross a slight error:
In the Deleting Persistent Objects,
PersistenceBrokerFactory.defaultPersistenceBroker();
Should be:
broker = PersistenceBrokerFactory.defaultPersistenceBroker();

One more thing, using ODMG i have been doing tx.markDirty(object) to update an object 
outside of a transaction. If i do a broker.store(object) outside of a transaction will 
this have the same effect?

Thanks,
Daniel.

RE: SequenceManagerMySQLImpl

2004-01-07 Thread Claudio Romano
Hi Thomas,

thanks for the quick anwer! The tables that throws this
exceptions don't have any autoincrement field on the
database! So i can't declare this attribute?!

Or am i missing something?

Thanks
Claudio Romano


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, January 07, 2004 11:47 AM
To: OJB Users List
Subject: Re: SequenceManagerMySQLImpl


Hi Claudio,

To work with sequence numbering you have to declare the respective 
attribute as autoincrement=true.
If you don't do this you can not expect the sequence manager to work for

those tables!

Thomas

Claudio Romano wrote:
 Hi all,
 
 i updated OJB from the rc3 to rc5. Now i have a problem with tables
 without an
 auto increment field. The Method afterStore in the
 SequenceManagerMySQLImpl
 class alway throws ArrayIndexOutOfBoundsException on these tables.
 
 Am i doing something wrong?
 
 This change causes my exception:
 
 diff -u -r1.14 -r1.15 
 public void afterStore(JdbcAccess dbAccess, ClassDescriptor cld,
Object
 obj) 
  throws SequenceManagerException
  {
  
 -FieldDescriptor fd = cld.getAutoIncrementField();
 +FieldDescriptor fd = cld.getAutoIncrementFields()[0];
 
 
 
 Thanks
 Claudio Romano
 
 -
 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]



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



Persisting Date and Time

2004-01-07 Thread Fabiano Fernandes de Souza

I got in a value object a property named recDate of java.util.Date.

It's mapped in resource.xml as jdbc-type=DATE and 
mapped in the ddl as rec_date TIMESTAMP.

I persist the object with the current Date using something like:
setRecDate(new Date()) and then I persist it using ODMG.

Everything goes fine but in the table keeps registered only the date
(not date and time) like this: 2004-01-06 00:00:00

What can I do to register the date and the time too?

Thanks.
-- 
Fabiano F. Souza
Tecnologia da Informação
Estudar Soluções em Treinamento Corporativo.
(31) 32849294 - [EMAIL PROTECTED]


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



Using collection-descriptor and conversion

2004-01-07 Thread Ralf Geiger
Hi,

I am having a problem with an 1:n relationship.

Imagine we have an relationship between user and location so that 
location can have multiple users. One user is bound to one location.

The classes look like this:
*
* USER - Class
*
public class User {
  
   private String userid = null;
   private String firstname = null;
   private String lastname = null;

   // Reference to Location
   private String locationkey  =  null;
   private Location refTo_location = null;
// all the Getter/Setter - methods

}
*
* LOCATION- Class
*
public class Buch_Location {
  
   private String locationid = null;
   private String name = null;   

// Reference to Users
private Vector colOf_user = new Vector();
   //Getter/Setter
}
Keep in mind that the IDs are all String-Values. They should be 
converted within OJB 
**
**
*
* USER - Mapping
*
  class-descriptor
class=User
table=USER
  
 field-descriptor
name=userid
column=USERID
jdbc-type=INTEGER
primarykey=true
autoincrement=true
conversion=ojb.conversion.String2IntFieldConversion
 /
 field-descriptor
name=firstname
column=FIRSTNAME
jdbc-type=VARCHAR
 /
 field-descriptor
name=lastname
column=LASTNAME
jdbc-type=VARCHAR
 / 

 field-descriptor
name=locationkey
column=LOCATIONKEY
jdbc-type=INTEGER
conversion=ojb.conversion.String2IntFieldConversion
 / 
 reference-descriptor
name=refTo_location
class-ref=Location
auto-retrieve=true
 
foreignkey field-ref=locationkey/
 /reference-descriptor

  /class-descriptor

*
* LOCATION- Mapping
*
  class-descriptor
class=Location
table=LOCATION
  
 field-descriptor
name=locationid
column=LOCATIONID
jdbc-type=INTEGER
primarykey=true
autoincrement=true
conversion=ojb.conversion.String2IntFieldConversion
 /
 field-descriptor
name=name
column=NAME
jdbc-type=VARCHAR
 /

 collection-descriptor
name=colOf_user
element-class-ref=User
orderby=userid
sort=DESC
 
inverse-foreignkey field-ref=locationkey/
 /collection-descriptor

  /class-descriptor
**
**
now the String2IntFieldConversion-Class is just like this:
...
 public Object javaToSql(Object arg0) throws ConversionException {
   return Integer.valueOf((String) arg0);
 }
 public Object sqlToJava(Object arg0) throws ConversionException {
   return String.valueOf( (Integer) arg0);
 }
...
**
**
Now the Problem is that OJB can't load the User using the 
conversion-class. If I don't use the conversion and use integers for the 
IDs instead of Strings it works fine.
It also works fine if you use an automatic m:n - mapping with an 
indirection-table - No problem for OJB to handle this using the 
conversion.

Can somebody tell me what I am doing wrong ?

BTW the IDs of the DB Tables (mySQL) are bigint.

Thanks for your help,

Ralf Geiger

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


RE: Can use tranditional-Chinese in where condition of OQL?

2004-01-07 Thread Olmanson, Alan
Hello,

Yes, however it required patching OJB and moving to a newer version of
antlr. I suggested a fix back in May put nothing appears to have been done
with it.


 Hello,

 I found the problem.

 In the oql-ojb.g grammar file, the charVocabulary is not encluding all of
 unicode it should be:

 charVocabulary = '\u' .. '\uFFFE';

 However with antlr 2.7.1 this will cause a problem with class being to
big.
 However this problem is fixed with antlr 2.7.2.


Alan



-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Wednesday, January 07, 2004 2:14 AM
To: OJB Users List
Subject: Can use tranditional-Chinese in where condition of OQL? 


Hi!
Does anyone use  tranditional-Chinese(non English) in where
condition of oql, and query object successfully?
I try to do this,but I get a error message. As :

[0] List all product entries
[1] Enter a new product
[2] Edit a product entry
[3] Delete a product entry
[4] Quit Application
type in number to select a use case
0
The list of available products:
OQL = select allproducts from org.apache.ojb.tutorial2.Product where name ='
'
antlr.TokenStreamRecognitionException: expecting ''', found ''
at org.apache.ojb.odmg.oql.OQLLexer.nextToken(OQLLexer.java:270)
at antlr.TokenBuffer.fill(TokenBuffer.java:61)
at antlr.TokenBuffer.LA(TokenBuffer.java:70)
at antlr.LLkParser.LA(LLkParser.java:50)
at
org.apache.ojb.odmg.oql.OQLParser.equalityExpr(OQLParser.java:673)
at
org.apache.ojb.odmg.oql.OQLParser.quantifierExpr(OQLParser.java:631)
at org.apache.ojb.odmg.oql.OQLParser.andExpr(OQLParser.java:579)
at org.apache.ojb.odmg.oql.OQLParser.orExpr(OQLParser.java:460)
at org.apache.ojb.odmg.oql.OQLParser.whereClause(OQLParser.java:322)
at org.apache.ojb.odmg.oql.OQLParser.selectQuery(OQLParser.java:130)
at org.apache.ojb.odmg.oql.OQLParser.buildQuery(OQLParser.java:77)
at
org.apache.ojb.odmg.oql.OQLQueryImpl.create(OQLQueryImpl.java:236)
at
org.apache.ojb.odmg.oql.OQLQueryImpl.create(OQLQueryImpl.java:207)
at
org.apache.ojb.tutorial2.UCListAllProducts.apply(UCListAllProducts.java:42)
at org.apache.ojb.tutorial2.Application.run(Application.java:109)
at org.apache.ojb.tutorial2.Application.main(Application.java:75)
org.odmg.QueryInvalidException: expecting ''', found ''
at
org.apache.ojb.odmg.oql.OQLQueryImpl.create(OQLQueryImpl.java:250)
at
org.apache.ojb.odmg.oql.OQLQueryImpl.create(OQLQueryImpl.java:207)
at
org.apache.ojb.tutorial2.UCListAllProducts.apply(UCListAllProducts.java:42)
at org.apache.ojb.tutorial2.Application.run(Application.java:109)
at org.apache.ojb.tutorial2.Application.main(Application.java:75)

Who can help me? Thanks you.
 
Dogie Tsai

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



Re: PB Tutorial (ERROR) and question

2004-01-07 Thread Brian McCallister
On the tutorial type -- thank you! I just fixed in OJB_1_0 and HEAD =)

On the ODMG markDirty / store thing... I don't know for sure, but there 
is a potential for lost updates when using markDirty(...). The practice 
I have had recommended, and use, is to just re-query it by identity in 
the bounds of a transaction and make the changes, rather than modifying 
a persistent object outside of a transaction and forcing changes back 
in.

-Brian

On Jan 7, 2004, at 5:49 AM, Daniel Perry wrote:

I was just reading the tutorial on the PB API, and came accross a 
slight error:
In the Deleting Persistent Objects,
PersistenceBrokerFactory.defaultPersistenceBroker();
Should be:
broker = PersistenceBrokerFactory.defaultPersistenceBroker();

One more thing, using ODMG i have been doing tx.markDirty(object) to 
update an object outside of a transaction. If i do a 
broker.store(object) outside of a transaction will this have the same 
effect?

Thanks,
Daniel.


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


RE: Can use tranditional-Chinese in where condition of OQL?

2004-01-07 Thread Thomas Dudziak
On Wed, 7 Jan 2004, Olmanson, Alan wrote:

 Hello,
 
 Yes, however it required patching OJB and moving to a newer version of
 antlr. I suggested a fix back in May put nothing appears to have been done
 with it.

You're right, in antlr 2.7.2 the bitset handling was significantly
improved especially for unicode. I can check an update to 2.7.2 (or
even 2.7.3rc1).

Tom



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



Re: PB Tutorial (ERROR) and question

2004-01-07 Thread Daniel Perry
Thanks,
That makes sense. Though in my current application there is practically no
chance of objects being concurrently updated.  And if it did happen, it
wouldn;t really matter.
However in future projects, i can see i will need to use transactions.

Thanks,
Daniel.
- Original Message - 
From: Brian McCallister [EMAIL PROTECTED]
To: OJB Users List [EMAIL PROTECTED]
Sent: Wednesday, January 07, 2004 2:28 PM
Subject: Re: PB Tutorial (ERROR) and question


 On the tutorial type -- thank you! I just fixed in OJB_1_0 and HEAD =)

 On the ODMG markDirty / store thing... I don't know for sure, but there
 is a potential for lost updates when using markDirty(...). The practice
 I have had recommended, and use, is to just re-query it by identity in
 the bounds of a transaction and make the changes, rather than modifying
 a persistent object outside of a transaction and forcing changes back
 in.

 -Brian

 On Jan 7, 2004, at 5:49 AM, Daniel Perry wrote:

  I was just reading the tutorial on the PB API, and came accross a
  slight error:
  In the Deleting Persistent Objects,
  PersistenceBrokerFactory.defaultPersistenceBroker();
  Should be:
  broker = PersistenceBrokerFactory.defaultPersistenceBroker();
 
  One more thing, using ODMG i have been doing tx.markDirty(object) to
  update an object outside of a transaction. If i do a
  broker.store(object) outside of a transaction will this have the same
  effect?
 
  Thanks,
  Daniel.



 -
 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]



PB Collections Management

2004-01-07 Thread Gelhar, Wallace Joseph
Can someone please summarize the behavior expected when using the
various collections under the PB API?

RemovalAwareCollection?

ManageableArrayList?

Etc?

Under what circumstances can I expect a relation to be deleted?  Added?
Is the removal and addition only expected if I use the add(Object) and
remove(Object) methods?  What about the clear() method and adding and
removing via an iterator()?

Thanks

Wally Gelhar

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



Re: Follow up on JBoss + OJB + HSQLDB

2004-01-07 Thread Brian Sam-Bodden
Larry,
  I will be publishing all my results to this group. Luckily I have 
documented everthing. I'm cleaning up the Ant script for my app and I 
can send you a zip file of it sometime this week.

Brian

Larry V. Streepy, Jr. wrote:

Brian Sam-Bodden wrote:

Torque. For those unintiated with Torque the whole thing is a bit 
confusing. I found no easy way to create the OJB internal tables from 
the build without creating the test tables also. So I had to put my 
own build together to get just what I needed. I don't know what to 
suggest here but maybe the build could be simplified.


Brian, I completely agree with you here.  Trying to decipher OJB, 
Torque, and a few other things has been interesting.  I have on my to 
do list, a note to create a build script that will do just what you 
state above (internal table creation).  If you wouldn't mind sharing 
that build fragment, I'd be very grateful.

Thanks - and good luck on this problem.

--
Larry V. Streepy, Jr.
Senior Vice President and CTO

http://www.healthlanguage.com/
We speak the language of healthcare Direct: +1 425-373-0600
Fax:+1 425-373-1633
Corp.:  +1 303-307-4400
Health Language, Inc.
3950 Lewiston Street, Suite 210
Aurora, Colorado 80011

The information in this email message is intended only for the use of 
the intended recipient and may contain confidential information. Any 
unauthorized review, use, disclosure or distribution is strictly 
prohibited. If you are not the intended addressee, please promptly 
delete this message and notify the sender of the delivery error by 
e-mail or you may call Health Language's corporate offices in Aurora, 
Colorado USA at (+1) 303-307-4400.





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


Re: Follow up on JBoss + OJB + HSQLDB

2004-01-07 Thread Thomas Dudziak
Perhaps I can shed some light on this (or I'm merely restating what you 
already know ;-). The target for generating the test db contains this:

!-- create sql scripts --
ant dir=.
 antfile=${torque.buildFile}
 target=project-sql-classpath/

!-- create db --
ant dir=.
 antfile=${torque.buildFile}
 target=project-create-db-classpath/

!-- create data sql --
ant dir=.
 antfile=${torque.buildFile}
 target=project-datasql-classpath/

!-- create tables --
ant dir=.
 antfile=${torque.buildFile}
 target=project-insert-sql/

These are all targets in the torque build file, i.e. they use torque to do
something.

project-sql-classpath generates SQL for creating the configured
database. For this it processes all files ending on -schema.xml (line
449-451 in build-torque.xml) in the ${schemaDirectory} which is configured
in build.properties to be src/schema. As there are two such files
(ojbcore-schema.xml and ojbtest-schema.xml), the generated sql is for both
schemas together. The generated sql is put into ${outputDirectory}/sql
which is target/src/sql

project-create-db-classpath processes the same schema files, generates
database-creation sql (not for the tables) and executes it (e.g. for MySQL
something like create database ojbtest).

project-datasql-classpath processes the three files ${project}-schema.xml 
(database definition),
${project}-data.dtd (test data dtd) and ${project}-data.xml (actual test
data) with ${project} = ojbtest to generate sql for inserting the test
data into the database. The generated sql is in
${outputDirectory}/sql/${project}-data.sql,
i.e. target/src/sql/ojbtest-data.sql.

project-insert-sql, finally, executes the SQL code found in all .sql files
in the ${outputDirectory}/sql/ directory.

So if you want to process a specific schema only, I suggest you copy it to
some temporary directory ${temp.dir}/schemas, then use the
project-create-db-classpath and project-sql-classpath targets like:

copy 
file=${schemaDirectory}/ojbcore-schema.xml todir=${temp.dir}/schemas/

ant dir=.
 antfile=${torque.buildFile}
 target=project-create-db-classpath
property name=schemaDirectory value=${temp.dir}/schemas/
property name=outputDirectory value=${temp.dir}/sql/
/ant
ant dir=.
 antfile=${torque.buildFile}
 target=project-sql-classpath
property name=schemaDirectory value=${temp.dir}/schemas/
property name=outputDirectory value=${temp.dir}/sql/
/ant

Hope that helps somewhat.

Tom



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



integrity constraint violation

2004-01-07 Thread Dirk Manske (Service Respond)
Hi,
 
I have got a problem with referential integrity. I am using OJB PB API with
HSQLDB and have set up a table 'person' with personId as primary key and a
second table 'activity' with this attribute as foreign key (null allowed).
the datatyp is integer and the association is 0..1 to many. 
 
It should be possible to store an activity and assign a person later to it.
however, when I try to store an activity I get the following exception:
 
org.apache.ojb.broker.KeyConstraintViolatedException 
java.sql.SqlException: integrity constraint violation for table 'person'.
What am I doing wrong?
 
thx,
Dirk
 


Re: PB Tutorial (ERROR) and question

2004-01-07 Thread Philippe Hacquin
Hi Brian,

nice to hear that; this is the way I handle updates on my objects, and 
it goes pretty well. To make things clear, tell me if I'm wrong, 
re-query the object by identity is the only way to get a reference to 
the object directly from the cache to avoid querying the database 
(provided OJB is configured with a cache, of course).

This is something that was not obvious when I first studied the 
tutorials (well, I began back in March last year, before you had a 
chance to enhance them), and may be worth to mention, in my opinion.

Brian McCallister wrote:

[...]

On the ODMG markDirty / store thing... I don't know for sure, but there 
is a potential for lost updates when using markDirty(...). The practice 
I have had recommended, and use, is to just re-query it by identity in 
the bounds of a transaction and make the changes, rather than modifying 
a persistent object outside of a transaction and forcing changes back in.
[...]

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


RE: ojb_dlist_entries continues to grow ...

2004-01-07 Thread Coup, Robert Muir
Hi,

Are you creating Dlist's within a transaction and then not persisting
them? I ran into this issue amd didn't really find a satisfactory
answer...
I would really like to use a general list class (with ordering!) that
can be made persistent but doesn't need the overhead/space of re-storing
every entry in the DLIST tables... Let alone entries/lists that were
never persisted!

Maybe someone else has some new ideas

Rob :)

 -Original Message-
 From: Gunnar Hilling [mailto:[EMAIL PROTECTED] 
 Sent: Wednesday, 7 January 2004 9:06 p.m.
 To: [EMAIL PROTECTED]
 Subject: ojb_dlist_entries continues to grow ...
 
 
 Hello all,
 
 Is it normal, that the ojb_dlist_entries table grows on and 
 on? Or ist this just caused by rollbacked transactions?
 
 I think I'll have soon problems because my database becomes 
 quite large just by ojb_dlist_entries...
 
 Any clue?
 
 -Gunnar
 
 
 
 -
 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]



Re: SequenceManagerMySQLImpl

2004-01-07 Thread Armin Waibel
Hi Claudio,

I will fix this.

regards,
Armin
Claudio Romano wrote:

Hi all,

i updated OJB from the rc3 to rc5. Now i have a problem with tables
without an
auto increment field. The Method afterStore in the
SequenceManagerMySQLImpl
class alway throws ArrayIndexOutOfBoundsException on these tables.
Am i doing something wrong?

This change causes my exception:

diff -u -r1.14 -r1.15 
public void afterStore(JdbcAccess dbAccess, ClassDescriptor cld, Object
obj) 
 throws SequenceManagerException
 {
 
-FieldDescriptor fd = cld.getAutoIncrementField();
+FieldDescriptor fd = cld.getAutoIncrementFields()[0];



Thanks
Claudio Romano
-
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]


XDoclet autoincrement oddities

2004-01-07 Thread Brian McCallister
The xdoclet module seems to be setting autoincrement in torque and OJB, 
which is a serious problem as I don't want database autoincrement, just 
OJB auto increment.

-Brian



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


RE: Persisting Date and Time

2004-01-07 Thread edson . richter
You could use either TIMESTAMP and DATE (note that TIMESTAMP will maintain date and 
time).
You object should use java.util.Date, and you must specify a conversion ... in XML 
field
descriptor. Just double check mail list archives, there are a lot of info about this 
(even
docs)...

Best regards,

Edson Richter
MGR Informática Ltda


 Hi Fabiano,

 Try JDBC-TYPE='TIMESTAMP' - and try and use java.sql.Date instead of 
 java.util.Date... I
 have run into problems before with java.util.Date but YMMV.

 Good Luck,

 Rob :)

 -Original Message-
 From: Fabiano Fernandes de Souza [mailto:[EMAIL PROTECTED]
 Sent: Thursday, 8 January 2004 2:08 a.m.
 To: [EMAIL PROTECTED]
 Subject: Persisting Date and Time



 I got in a value object a property named recDate of java.util.Date.

 It's mapped in resource.xml as jdbc-type=DATE and
 mapped in the ddl as rec_date TIMESTAMP.

 I persist the object with the current Date using something
 like: setRecDate(new Date()) and then I persist it using ODMG.

 Everything goes fine but in the table keeps registered only
 the date (not date and time) like this: 2004-01-06 00:00:00

 What can I do to register the date and the time too?

 Thanks.
 --
 Fabiano F. Souza
 Tecnologia da Informação
 Estudar Soluções em Treinamento Corporativo.
 (31) 32849294 - [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]




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



Re: XDoclet autoincrement oddities

2004-01-07 Thread Thomas Dudziak
On Wed, 7 Jan 2004, Brian McCallister wrote:

 The xdoclet module seems to be setting autoincrement in torque and OJB, 
 which is a serious problem as I don't want database autoincrement, just 
 OJB auto increment.

I could change the values of autoincrement from true/false to
none/ojb/database !?
 
Tom



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



Re: XDoclet autoincrement oddities

2004-01-07 Thread Brian McCallister
I like none (default) / ojb / database the most.

I never hit the problem running against PostgreSQL, but started a new 
project today running against HSQLDB where torque makes autoincrement 
into an IDENTITY type =/

-Brian

On Jan 7, 2004, at 5:11 PM, Thomas Dudziak wrote:

On Wed, 7 Jan 2004, Brian McCallister wrote:

The xdoclet module seems to be setting autoincrement in torque and 
OJB,
which is a serious problem as I don't want database autoincrement, 
just
OJB auto increment.
I could change the values of autoincrement from true/false to
none/ojb/database !?
Tom



-
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]


History of OJB

2004-01-07 Thread Brian Sam-Bodden
Thomas,
   Could you give us a short and sweet version of how OJB came to be?
Thanks,
   Brian
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]