You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-user@db.apache.org by Jim Theodoridis <oj...@tera.gr> on 2004/07/06 20:34:45 UTC
n <-> m relations on 1r7
Hi
I am using ojb 1r7 struts and tomcat 5.0
the following declarations works fine on ojb 0.7
I am having n<->m relation Author <-> Document in the database i use
table writes like this
Author ----> Writes <------ Document
the repository_user.xml about class Document is:
<!-- Definitions for gr.tera.encyclopedia.bo.DocumentBO -->
<class-descriptor
class="gr.tera.encyclopedia.bo.DocumentBO"
table="DOCUMENT"
>
<field-descriptor
name="id"
column="DOCUMENTID"
jdbc-type="INTEGER"
primarykey="true"
autoincrement="true"
/>
<field-descriptor
name="year"
column="DOCUMENTYEAR"
jdbc-type="INTEGER"
/>
<field-descriptor
name="categoryID"
column="DOCUMENTCATEGORYID"
jdbc-type="INTEGER"
/>
<field-descriptor
name="kindID"
column="DOCUMENTKINDID"
jdbc-type="INTEGER"
/>
<field-descriptor
name="name"
column="DOCUMENTTITLE"
jdbc-type="VARCHAR"
/>
<!-- Relation n-m with AUTHOR thru WRITES -->
<collection-descriptor
name="authors"
element-class-ref="gr.tera.encyclopedia.bo.AuthorBO"
auto-retrieve="true"
auto-update="true"
indirection-table="WRITES"
orderby="AUTHORNAME"
>
<fk-pointing-to-this-class column="DOCUMENTID"/>
<fk-pointing-to-element-class column="AUTHORID"/>
</collection-descriptor>
</class-descriptor>
......
When i am trying to get a collection of documents i am taking the
following error
java.lang.NullPointerException
at
org.apache.ojb.broker.accesslayer.MtoNCollectionPrefetcher.associateBatched(Unknown
Source)
at
org.apache.ojb.broker.accesslayer.MtoNCollectionPrefetcher.prefetchRelationship(Unknown
Source)
at
org.apache.ojb.broker.core.QueryReferenceBroker.performRetrievalTasks(Unknown
Source)
at
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown
Source)
at
gr.tera.encyclopedia.service.EncyclopediaServiceImpl.getDocuments(EncyclopediaServiceImpl.java:104)
at
org.apache.jsp.showDocuments$jsp._jspService(showDocuments$jsp.java:71)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)
at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
at java.lang.Thread.run(Thread.java:536)
org.apache.ojb.broker.PersistenceBrokerException:
java.lang.NullPointerException
at
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown
Source)
at
gr.tera.encyclopedia.service.EncyclopediaServiceImpl.getDocuments(EncyclopediaServiceImpl.java:104)
at
org.apache.jsp.showDocuments$jsp._jspService(showDocuments$jsp.java:71)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)
at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
at java.lang.Thread.run(Thread.java:536)
Caused by: java.lang.NullPointerException
at
org.apache.ojb.broker.accesslayer.MtoNCollectionPrefetcher.associateBatched(Unknown
Source)
at
org.apache.ojb.broker.accesslayer.MtoNCollectionPrefetcher.prefetchRelationship(Unknown
Source)
at
org.apache.ojb.broker.core.QueryReferenceBroker.performRetrievalTasks(Unknown
Source)
at
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown
Source)
... 41 more
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org
Re: recursive maps
Posted by Thomas Dudziak <to...@first.fhg.de>.
Marcus Young wrote:
> Thanks Tom - the test cases against role and group now function
> correclty. The record id's appear to be unique across the extent set?
Depends on how you get their values. A simple MySQL-style autoincrement
in the database won't work, but if you're letting OJB create the values,
or if you have a database sequence defined for it, then you should be fine.
> Interestingly however, no data is actually written to the
> 'permission_holder' table - this includes the permisison holder id and
> any test attributes that are added to the permission holder class. This
> started me thinking about the possibility of a class-descriptor that
> defines a class that has no direct map to a database table. This
> descriptor would only contain information detailing relationships
> between other class-descriptors. I'm fairly new to this, so I not sure
> if this makes sense?!
Mapping an inheritance hierarchy to multiple tables is a somewhat
involved topic. If you haven't checked already, you should look here for
some details:
http://db.apache.org/ojb/docu/guides/advanced-technique.html#Mapping+Classes+on+Multiple+Joined+Tables
Basically you need references that use the special keyword 'super' to
referer to the base instance.
It would be a lot easier if you were able to map all subclass of
PermissionHolder to the same table, because in this case you'll only
need an additional field 'ojbConcreteClass' that tells OJB which class
to instantiate when reading a row from the table.
Tom
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org
Re: recursive maps
Posted by Marcus Young <ma...@redcentre.com>.
Thanks Tom - the test cases against role and group now function
correclty. The record id's appear to be unique across the extent set?
Interestingly however, no data is actually written to the
'permission_holder' table - this includes the permisison holder id and
any test attributes that are added to the permission holder class. This
started me thinking about the possibility of a class-descriptor that
defines a class that has no direct map to a database table. This
descriptor would only contain information detailing relationships
between other class-descriptors. I'm fairly new to this, so I not sure
if this makes sense?!
Marcus
Thomas Dudziak wrote:
> Your m:n collection points to PermissionHolder, however this 'class'
> has no declared primary key field. Try adding the primary key field
> descriptor to it. Note that the primary key must be unique across
> RoleTO and GroupTO to make this work. You might also run into problems
> if you map RoleTO and GroupTO to different tables because in this case
> OJB currently has no way to determine which class to instantiate
> (there are plans to add support for a field containing the concrete
> class name to the referee side, e.g. the indirection table in your
> case, but they ain't implemented yet).
>
> Tom
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org
Re: recursive maps
Posted by Thomas Dudziak <to...@first.fhg.de>.
Marcus Young wrote:
> Hi,
>
> I have two classes 'Role' and 'Group' that extend 'PermissionHolder".
> PermissionHolder includes as an attribute a collection of
> PermissionHolders. I am able to store a Role or a Group with contained
> permission holders successfully. However, I am having difficulties with
> retrevial. Exception as follows:
>
> [org.apache.ojb.broker.accesslayer.JdbcAccessImpl] DEBUG: executeQuery:
> com.mysql.jdbc.PreparedStatement@15bdc50: SELECT
> A0.NAME,A0.DESCRIPTION,A0.ID FROM roles A0 WHERE A0.ID = 1584
> [org.apache.ojb.broker.accesslayer.RsIterator] DEBUG:
> RsIterator[org.apache.ojb.broker.accesslayer.RsQueryObject[query:
> QueryByCriteria from class com.eclipsej.user.RoleTO where [_id = 1584],
> class descriptor: com.eclipsej.user.RoleTO]] initialized
> [org.apache.ojb.broker.accesslayer.RsIterator] DEBUG: hasNext() -> true
> java.lang.NullPointerException
> at
> org.apache.ojb.broker.metadata.ClassDescriptor.getPkFields(ClassDescriptor.java:1016)
>
> at
> org.apache.ojb.broker.core.QueryReferenceBroker.getFKQueryMtoN(QueryReferenceBroker.java:660)
>
> at
> org.apache.ojb.broker.core.Que[org.apache.ojb.broker.core.PersistenceBrokerImpl]
> DEBUG: PB.close was called:
> org.apache.ojb.broker.core.PersistenceBrokerImpl@1a5f739
> [org.apache.ojb.broker.cache.InternalCache] WARN: Found 1 abandoned
> objects in local cache, check code to force push to real ObjectCache
> ryReferenceBroker.getFKQuery(QueryReferenceBroker.java:608)
>
>
> In this case role (id=1584) has a single group in its collection.
> I have also attached a copy of the repository. I'm sure I'm missing
> something simple - any help would be appreciated....
>
>
> <!-- Definitions for com.eclipsej.permissions.PermissionHolder -->
> <class-descriptor class="com.eclipsej.permission.PermissionHolder"
> table="permission_holders"> <extent-class
> class-ref="com.eclipsej.user.RoleTO" />
> <extent-class class-ref="com.eclipsej.user.GroupTO" />
> </class-descriptor>
> <!-- Defnitions for com.eclipsej.user.RoleTO -->
> <class-descriptor class="com.eclipsej.user.RoleTO" table="roles">
> <field-descriptor name="_id" column="ID" jdbc-type="BIGINT"
> primarykey="true" autoincrement="true"/>
> <field-descriptor name="_name" column="NAME" jdbc-type="VARCHAR"/>
> <field-descriptor name="_description" column="DESCRIPTION"
> jdbc-type="VARCHAR"/> <collection-descriptor
> name="_permissionHolders"
> element-class-ref="com.eclipsej.permission.PermissionHolder"
> auto-retreive="true"
> auto-update="true"
> auto-delete="false"
> indirection-table="permission_holder_map"
> >
> <fk-pointing-to-this-class column="permission_holder_host_id"/>
> <fk-pointing-to-element-class
> column="permission_holder_client_id"/>
> </collection-descriptor> </class-descriptor>
Your m:n collection points to PermissionHolder, however this 'class' has
no declared primary key field. Try adding the primary key field
descriptor to it. Note that the primary key must be unique across RoleTO
and GroupTO to make this work. You might also run into problems if you
map RoleTO and GroupTO to different tables because in this case OJB
currently has no way to determine which class to instantiate (there are
plans to add support for a field containing the concrete class name to
the referee side, e.g. the indirection table in your case, but they
ain't implemented yet).
Tom
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org
recursive maps
Posted by Marcus Young <ma...@redcentre.com>.
Hi,
I have two classes 'Role' and 'Group' that extend 'PermissionHolder".
PermissionHolder includes as an attribute a collection of
PermissionHolders. I am able to store a Role or a Group with contained
permission holders successfully. However, I am having difficulties with
retrevial. Exception as follows:
[org.apache.ojb.broker.accesslayer.JdbcAccessImpl] DEBUG: executeQuery:
com.mysql.jdbc.PreparedStatement@15bdc50: SELECT
A0.NAME,A0.DESCRIPTION,A0.ID FROM roles A0 WHERE A0.ID = 1584
[org.apache.ojb.broker.accesslayer.RsIterator] DEBUG:
RsIterator[org.apache.ojb.broker.accesslayer.RsQueryObject[query:
QueryByCriteria from class com.eclipsej.user.RoleTO where [_id = 1584],
class descriptor: com.eclipsej.user.RoleTO]] initialized
[org.apache.ojb.broker.accesslayer.RsIterator] DEBUG: hasNext() -> true
java.lang.NullPointerException
at
org.apache.ojb.broker.metadata.ClassDescriptor.getPkFields(ClassDescriptor.java:1016)
at
org.apache.ojb.broker.core.QueryReferenceBroker.getFKQueryMtoN(QueryReferenceBroker.java:660)
at
org.apache.ojb.broker.core.Que[org.apache.ojb.broker.core.PersistenceBrokerImpl]
DEBUG: PB.close was called:
org.apache.ojb.broker.core.PersistenceBrokerImpl@1a5f739
[org.apache.ojb.broker.cache.InternalCache] WARN: Found 1 abandoned
objects in local cache, check code to force push to real ObjectCache
ryReferenceBroker.getFKQuery(QueryReferenceBroker.java:608)
In this case role (id=1584) has a single group in its collection.
I have also attached a copy of the repository. I'm sure I'm missing
something simple - any help would be appreciated....
<!-- Definitions for com.eclipsej.permissions.PermissionHolder -->
<class-descriptor class="com.eclipsej.permission.PermissionHolder"
table="permission_holders">
<extent-class class-ref="com.eclipsej.user.RoleTO" />
<extent-class class-ref="com.eclipsej.user.GroupTO" />
</class-descriptor>
<!-- Defnitions for com.eclipsej.user.RoleTO -->
<class-descriptor class="com.eclipsej.user.RoleTO" table="roles">
<field-descriptor name="_id" column="ID" jdbc-type="BIGINT"
primarykey="true" autoincrement="true"/>
<field-descriptor name="_name" column="NAME" jdbc-type="VARCHAR"/>
<field-descriptor name="_description" column="DESCRIPTION"
jdbc-type="VARCHAR"/>
<collection-descriptor name="_permissionHolders"
element-class-ref="com.eclipsej.permission.PermissionHolder"
auto-retreive="true"
auto-update="true"
auto-delete="false"
indirection-table="permission_holder_map"
>
<fk-pointing-to-this-class column="permission_holder_host_id"/>
<fk-pointing-to-element-class
column="permission_holder_client_id"/>
</collection-descriptor>
</class-descriptor>
Marcus
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org
Re: n <-> m relations on 1r7
Posted by Armin Waibel <ar...@apache.org>.
Hi Jim,
> java.lang.NullPointerException
> at
>
org.apache.ojb.broker.accesslayer.MtoNCollectionPrefetcher.associateBatched(Unknown
> Source)
this stack trace didn't help much. Please compile the OJB jar with
'ant jar-debug' to get the line number of the NPE.
There is a test case (M2NTest.java) in OJB test-suite query objects with
m:n relation and this test pass.
By the way, did you tried to use OJB 1.0?
regards,
Armin
Jim Theodoridis wrote:
> Hi
>
> I am using ojb 1r7 struts and tomcat 5.0
> the following declarations works fine on ojb 0.7
>
> I am having n<->m relation Author <-> Document in the database i use
> table writes like this
> Author ----> Writes <------ Document
> the repository_user.xml about class Document is:
>
> <!-- Definitions for gr.tera.encyclopedia.bo.DocumentBO -->
> <class-descriptor
> class="gr.tera.encyclopedia.bo.DocumentBO"
> table="DOCUMENT"
> >
> <field-descriptor
> name="id"
> column="DOCUMENTID"
> jdbc-type="INTEGER"
> primarykey="true"
> autoincrement="true"
> />
> <field-descriptor
> name="year"
> column="DOCUMENTYEAR"
> jdbc-type="INTEGER"
> />
> <field-descriptor
> name="categoryID"
> column="DOCUMENTCATEGORYID"
> jdbc-type="INTEGER"
> />
> <field-descriptor
> name="kindID"
> column="DOCUMENTKINDID"
> jdbc-type="INTEGER"
> />
> <field-descriptor
> name="name"
> column="DOCUMENTTITLE"
> jdbc-type="VARCHAR"
> />
>
> <!-- Relation n-m with AUTHOR thru WRITES -->
> <collection-descriptor
> name="authors"
> element-class-ref="gr.tera.encyclopedia.bo.AuthorBO"
> auto-retrieve="true"
> auto-update="true"
> indirection-table="WRITES"
> orderby="AUTHORNAME"
> >
> <fk-pointing-to-this-class column="DOCUMENTID"/>
> <fk-pointing-to-element-class column="AUTHORID"/>
> </collection-descriptor>
>
> </class-descriptor>
>
> ......
>
> When i am trying to get a collection of documents i am taking the
> following error
>
> java.lang.NullPointerException
> at
> org.apache.ojb.broker.accesslayer.MtoNCollectionPrefetcher.associateBatched(Unknown
> Source)
> at
> org.apache.ojb.broker.accesslayer.MtoNCollectionPrefetcher.prefetchRelationship(Unknown
> Source)
> at
> org.apache.ojb.broker.core.QueryReferenceBroker.performRetrievalTasks(Unknown
> Source)
> at
> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown
> Source)
> at
> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown
> Source)
> at
> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown
> Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknown
> Source)
> at
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown
> Source)
> at
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown
> Source)
> at
> gr.tera.encyclopedia.service.EncyclopediaServiceImpl.getDocuments(EncyclopediaServiceImpl.java:104)
>
> at
> org.apache.jsp.showDocuments$jsp._jspService(showDocuments$jsp.java:71)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> at
> org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)
>
> at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
>
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
>
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
>
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
>
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
>
> at
> org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
>
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
>
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
>
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
>
> at
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
>
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
>
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
>
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
>
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
>
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
>
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)
>
> at
> org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
>
> at java.lang.Thread.run(Thread.java:536)
> org.apache.ojb.broker.PersistenceBrokerException:
> java.lang.NullPointerException
> at
> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown
> Source)
> at
> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown
> Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknown
> Source)
> at
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown
> Source)
> at
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown
> Source)
> at
> gr.tera.encyclopedia.service.EncyclopediaServiceImpl.getDocuments(EncyclopediaServiceImpl.java:104)
>
> at
> org.apache.jsp.showDocuments$jsp._jspService(showDocuments$jsp.java:71)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> at
> org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)
>
> at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
>
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
>
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
>
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
>
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
>
> at
> org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
>
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
>
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
>
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
>
> at
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
>
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
>
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
>
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
>
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
>
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
>
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)
>
> at
> org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
>
> at java.lang.Thread.run(Thread.java:536)
> Caused by: java.lang.NullPointerException
> at
> org.apache.ojb.broker.accesslayer.MtoNCollectionPrefetcher.associateBatched(Unknown
> Source)
> at
> org.apache.ojb.broker.accesslayer.MtoNCollectionPrefetcher.prefetchRelationship(Unknown
> Source)
> at
> org.apache.ojb.broker.core.QueryReferenceBroker.performRetrievalTasks(Unknown
> Source)
> at
> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown
> Source)
> ... 41 more
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org