Hi,

I am working in an experimental personal project to learn scala,
liftweb and app engine. You can find it at:
http://bitbucket.org/kkarad/lift-playground/

I am currently have some problems using scala and jdo under app
engine. More specifically, my entitity classes cannot use Long as a
primary key. Whenever I try persisting a entity object. I get the
following exception:

org.datanucleus.store.appengine.MetaDataValidator
$DatastoreMetaDataException: Error in meta-data for
org.kkarad.liftplayground.model.Candidate.id: Unsupported primary key
type: long
        
org.datanucleus.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException
(NucleusJDOHelper.java:354)
        org.datanucleus.jdo.JDOPersistenceManager.jdoMakePersistent
(JDOPersistenceManager.java:674)
        org.datanucleus.jdo.JDOPersistenceManager.makePersistent
(JDOPersistenceManager.java:694)
        org.kkarad.liftplayground.api.RestApi$.addCandidate(RestApi.scala:52)
        org.kkarad.liftplayground.api.RestApi$$anonfun$dispatch$1$$anonfun
$apply$2.apply(RestApi.scala:30)
        org.kkarad.liftplayground.api.RestApi$$anonfun$dispatch$1$$anonfun
$apply$2.apply(RestApi.scala:30)
        net.liftweb.http.LiftServlet.liftedTree1$1(LiftServlet.scala:205)
        net.liftweb.http.LiftServlet.net$liftweb$http$LiftServlet$
$dispatchStatefulRequest(LiftServlet.scala:202)
...

As you can see jdo views the id field as a primitive long type of
Java. However the field is defined as scala.Long. Obviously there is
something wrong with the conversion of the class file.

Do you know how I can represent a valid jdo long primary key in scala
code. Is this a known scala-jdo integration issue? If yes, is there
any alternative solution?

The entity class and the scala code which persist and object can be
found below:

Entity class:
http://bitbucket.org/kkarad/lift-playground/src/tip/src/main/scala/org/kkarad/liftplayground/model/Candidate.scala

DAO Scala code:
http://bitbucket.org/kkarad/lift-playground/src/8516983fe946/src/main/scala/org/kkarad/liftplayground/api/RestApi.scala#cl-43

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to