You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@isis.apache.org by 赵 敏 <be...@live.cn> on 2017/09/29 10:28:58 UTC
Not yet supported for queries with unknown candidate.
Hi support,
Its me again!
My Isis version is 1.14.0, thanks for the help. Now we used DN's data federation to managed multiple databases.
But there are some exceptions here, that's org.datanucleus.exceptions.NucleusException: Not yet supported for queries with unknown candidate.
Then I went to track the source code,I found the org.apache.isis.core.runtime.system.persistence.PersistenceSession.newJdoQuery(Class<?> cls) used org.datanucleus.api.jdo.JDOPersistenceManager.newQuery(Class cls) to create javax.jdo.Query,
and then execute org.datanucleus.api.jdo.JDOPersistenceManager.newQuery(),that's invoke newQuery("javax.jdo.query.JDOQL", null).
Now,variable query is null,when invoke org.datanucleus.store.federation.FederatedQueryManagerImpl.newQuery(String language, ExecutionContext ec, Object query) will throw new NucleusException("Not yet supported for queries with unknown candidate").
Is my configuration wrong?
Ekko.
Re: Not yet supported for queries with unknown candidate.
Posted by Dan Haywood <da...@haywood-associates.co.uk>.
Hi Ekko,
Since you're somewhat off "the beaten track", it's a little difficult to
give concrete advice. In short, I don't know if your configuration is
wrong.
The IsisJdoSupport service provides only a very thin layer on top of DN's
PersistenceManager, and we don't expose every API. It's quite possible for
your use case you need to call the DN APIs differently to the way that
IsisJdoSupport calls them.
What I recommend you do is use IsisJdoSupport#getPersistenceManager() [1]
to access the underlying DN PM, then construct your query directly. At
least that then eliminates Isis. Andy Jefferson, who maintains DN, may be
able to help, though he's pretty strict about wanting a test case that
demonstrates the issue.
Once you've figured out what DN API needs to be called, we can look to
providing better support for it within Isis.
Hope that helps a little
Dan
[1]
https://github.com/apache/isis/blob/master/core/applib/src/main/java/org/apache/isis/applib/services/jdosupport/IsisJdoSupport.java#L61
On Fri, 29 Sep 2017 at 11:34 赵 敏 <be...@live.cn> wrote:
> Hi support,
>
> Its me again!
>
> My Isis version is 1.14.0, thanks for the help. Now we used DN's data
> federation to managed multiple databases.
>
> But there are some exceptions here, that's
> org.datanucleus.exceptions.NucleusException: Not yet supported for queries
> with unknown candidate.
>
> Then I went to track the source code,I found the
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.newJdoQuery(Class<?>
> cls) used org.datanucleus.api.jdo.JDOPersistenceManager.newQuery(Class cls)
> to create javax.jdo.Query,
> and then execute
> org.datanucleus.api.jdo.JDOPersistenceManager.newQuery(),that's invoke
> newQuery("javax.jdo.query.JDOQL", null).
>
> Now,variable query is null,when invoke
> org.datanucleus.store.federation.FederatedQueryManagerImpl.newQuery(String
> language, ExecutionContext ec, Object query) will throw new
> NucleusException("Not yet supported for queries with unknown candidate").
>
> Is my configuration wrong?
>
> Ekko.
>
>