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]
