Hi, Jakob

The problem is with mapping of a reference to superclass in Company class, I make that:

/**
* @ojb.field name="personOid"
*            column="OID"
*            jdbc-type="VARCHAR"
*            length="8"
*            primarykey="true"
* @ojb.reference class-ref="myproject.Person"
*                foreignkey="personOid"
*                auto-retrieve="true"
*                auto-update="object"
*                auto-delete="object"
**/
public class Company extends Person {
...
}

but the correct one is:

/**
* @ojb.field name="oid"
*            column="OID"
*            jdbc-type="VARCHAR"
*            length="8"
*            primarykey="true"
* @ojb.reference class-ref="com.supridatta.bo.pessoas.Pessoa"
*                foreignkey="oid"
*                auto-retrieve="true"
*                auto-update="object"
*                auto-delete="object"
**/
public class Company extends Person {
...
}

I only changed the anonymous field name from personOid to oid, and works fine.

I think that is because my classes as the same oid field for all extend, then the declaration of OID is on the super class, and I declared a primary key on a anonymous field but with a different name than superClass, I misunderstood the docs, because all references about it are different names for ids in super and subclasses.

Thanks

Cl�vis

Jakob Braeuchi wrote:

hi clovis,

this looks like a mapping problem to me. have you checked the collection descriptor ?

jakob

Cl�vis Wichoski wrote:

Hi,

Here I'm getting a java.lang.NullPointerException, when call PersistenceBroker.getCollectionByQuery, this Query is created
with follow OQL:


select obj from myproject.User where myCompany.shortcut = "COMPANYX" and loginName = "USERX"

I think that this is a trouble with my mapping, but the error don't points what I missed, anyone knows what can be this?

I'm using XDoclet and a build from a CVS checkout checked today.

TIA

Cl�vis

The stack trace concerning OJB:

java.lang.NullPointerException
at org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement$Join.getColumns(SqlQueryStatement.java:1960)


at org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement$Join.<init>(SqlQueryStatement.java:1946)

at org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement.addJoin(SqlQueryStatement.java:1121)

at org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement.getTableAlias(SqlQueryStatement.java:1064)

at org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement.buildJoinTreeForColumn(SqlQueryStatement.java:1577)

at org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement.buildJoinTree(SqlQueryStatement.java:1554)

at org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement.splitCriteria(SqlQueryStatement.java:1631)

at org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement.<init>(SqlQueryStatement.java:130)

at org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement.<init>(SqlQueryStatement.java:82)

at org.apache.ojb.broker.accesslayer.sql.SqlSelectStatement.<init>(SqlSelectStatement.java:50)

at org.apache.ojb.broker.accesslayer.sql.SqlGeneratorDefaultImpl.getPreparedSelectStatement(SqlGeneratorDefaultImpl.java:150)

at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(JdbcAccessImpl.java:276)

at org.apache.ojb.broker.accesslayer.RsQueryObject.performQuery(RsQueryObject.java:74)

at org.apache.ojb.broker.accesslayer.RsIterator.<init>(RsIterator.java:183)
at org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(RsIteratorFactoryImpl.java:58)


at org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(PersistenceBrokerImpl.java:1791)

at org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(PersistenceBrokerImpl.java:1321)

at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:110)

at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:232)

at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:252)

at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(PersistenceBrokerImpl.java:1205)

at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:332)

at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:332)



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



Reply via email to