Hi,

after a lot of trouble like yours I found that the easiest way is to set 
the DbAdapter class in the modeler. There is an extra tab "Adapter" on 
the DataNode configuration. You don't need to do anything in your source 
code (except defining your Adapter class).

Wernke


On 2012-03-15 14:19, Sheldon wrote:
> Hello,
> how can I create a custom Mysql adapter? I use cayenne 3.1M3.
>
> I've tried:
>
> 1)
> DataNode node = new DataNode(...);
> dataNode.setAdapter(new MySQLAdapter());
>
> 2)
> Provider<DbAdapter>  adapterProvider = new Provider<DbAdapter>() {
>
>               public DbAdapter get() throws ConfigurationException {
>                       MySQLAdapter adapter = new MySQLAdapter();
>                       return adapter;
>               }
> };
> AutoAdapter autoAdapter = new AutoAdapter(adapterProvider, logger);
>
> --------------------------------
>
> everytime I get following Exception:
> Exception in thread "main" org.apache.cayenne.CayenneRuntimeException:
> [v.3.1M3 Sep 12 2011 19:59:45] java.lang.NullPointerException
>       at
> org.apache.cayenne.access.DataDomain.runInTransaction(DataDomain.java:840)
>       at
> org.apache.cayenne.access.DataDomainQueryAction.runQueryInTransaction(DataDomainQueryAction.java:392)
>       at
> org.apache.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:121)
>       at
> org.apache.cayenne.access.DataDomain.onQueryNoFilters(DataDomain.java:708)
>       at
> org.apache.cayenne.access.DataDomain$DataDomainQueryFilterChain.onQuery(DataDomain.java:958)
>       at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:698)
>       at
> org.apache.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:336)
>       at
> org.apache.cayenne.util.ObjectContextQueryAction.executePostCache(ObjectContextQueryAction.java:104)
>       at
> org.apache.cayenne.util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java:91)
>       at org.apache.cayenne.access.DataContext.onQuery(DataContext.java:990)
>       at 
> org.apache.cayenne.access.DataContext.performQuery(DataContext.java:979)
>       at
> org.example.cayenne.persistent.DynamicMain.selectTutorial(DynamicMain.java:271)
>       at org.example.cayenne.persistent.DynamicMain.main(DynamicMain.java:252)
> Caused by: java.lang.NullPointerException
>       at org.apache.cayenne.access.DataNode.performQueries(DataNode.java:281)
>       at
> org.apache.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:422)
>       at
> org.apache.cayenne.access.DataDomainQueryAction.access$000(DataDomainQueryAction.java:69)
>       at
> org.apache.cayenne.access.DataDomainQueryAction$2.transform(DataDomainQueryAction.java:395)
>       at
> org.apache.cayenne.access.DataDomain.runInTransaction(DataDomain.java:828)
>       ... 12 more
>
> best regards
>
> --
> View this message in context: 
> http://cayenne.195.n3.nabble.com/Myslq-Adapter-tp3828735p3828735.html
> Sent from the Cayenne - User mailing list archive at Nabble.com.


-- 
/Wernke zur Borg
*Rhea System S.A.*
Robert-Bosch-Str. 7
64293 Darmstadt / Germany
Tel. +49-6151-8709591/


This email (including any attachments) may contain confidential and/or 
privileged
information or information otherwise protected from disclosure.  If you are not 
the
intended recipient, please notify the sender immediately, do not copy this 
message
or any attachments and do not use it or any purpose or disclose its content to 
any
person, but delete this message and any attachments from your system.
RHEA System S.A. (RHEA) disclaims any and all liability if this email 
transmission
was virus corrupted, altered or falsified.

If a Non Disclosure Agreement (NDA) exists between RHEA and the receiving
organization, then all contents shall be considered proprietary and covered 
under
the NDA.

Reply via email to