Scala 保存时记录它';原因java.util.prefs.BackingStoreException:原始记录不';我不能自救

Scala 保存时记录它';原因java.util.prefs.BackingStoreException:原始记录不';我不能自救,scala,lift,squeryl,Scala,Lift,Squeryl,User.scala import net.liftweb.record.{ MegaProtoUser, MetaMegaProtoUser } import net.liftweb.squerylrecord.RecordTypeMode._ import net.liftweb.common._ import net.liftweb.util.FieldError import net.liftweb.http.S class User extends MegaProtoUser[Use

User.scala

import net.liftweb.record.{ MegaProtoUser, MetaMegaProtoUser }
import net.liftweb.squerylrecord.RecordTypeMode._
import net.liftweb.common._
import net.liftweb.util.FieldError
import net.liftweb.http.S

class User extends MegaProtoUser[User] {

  def meta = User

  protected def valUnique(errorMsg: => String)(email: String): List[FieldError] = {
    List[FieldError]()
  }

}

/**
 * The singleton that has methods for accessing the database
 */
object User extends User with MetaMegaProtoUser[User] {

  override def basePath = "profile" :: Nil

  override def signupFields = email :: password :: Nil

  override def signupXhtml(user: TheUserType) = {
    (<form method="post" action={ S.uri }><table>
                                            <tr><td colspan="2">{ S.??("sign.up") }</td></tr>
                                            { localForm(user, false, signupFields) }
                                            <tr><td>&nbsp;</td><td><user:submit class="btn btn-primary" /></td></tr>
                                          </table></form>)
  }

  override def screenWrap = Full(<lift:surround with="default" at="content">
                                   <lift:bind/>
                                 </lift:surround>)

  // redefine login form for nice formatting
  override def loginXhtml =
    <form method="post" action={ S.uri }>
      <lift:msg show="All"/>
      <div style="margin-bottom: 5px; margin-left: 5px;">
        <strong>
          { S.??("log.in") }
        </strong>
      </div>
      <div style="float: left; line-height: 2.5em;margin-left: 5px; margin-right: 20px;">
        { S.??("email.address") }<br/>{ S.??("password") }<br/>
        <a href={ lostPasswordPath.mkString("/", "/", "") }>
          { S.??("recover.password") }
        </a>
      </div>
      <div style="line-height: 2.5em;">
        <user:email/>
        <br/>
        <user:password/>
        <br/>
        <user:submit class="btn btn-primary"/>
      </div>
    </form>

  protected def userFromStringId(id: String): Box[User] = from(PPSchema.users)(u =>
    where(u.id === id.toLong)
      select (u)).headOption

  protected def findUserByUserName(email: String): Box[User] = from(PPSchema.users)(u =>
    where(u.email === email)
      select (u)).headOption

  protected def findUserByUniqueId(id: String): Box[User] = userFromStringId(id)
}
错误信息如下:

消息:java.util.prefs.BackingStoreException:原始记录不保存自己 net.liftweb.record.record$class.saveTheRecord(record.scala:89) com.posplus.model.User.saveTheRecord(User.scala:17) MetaMegaProtoUser$MyUserBridge.save(ProtoUser.scala:294) net.liftweb.proto.ProtoUser$class.actionsAfterSignup(ProtoUser.scala:696) com.posplus.model.User$.actionsAfterSignup(User.scala:32) net.liftweb.proto.ProtoUser$class.testSignup$1(ProtoUser.scala:737) net.liftweb.proto.ProtoUser$$anonfun$innerSignup$1$1.apply(ProtoUser.scala:745) net.liftweb.proto.ProtoUser$$anonfun$innerSignup$1$1.apply(ProtoUser.scala:745) net.liftweb.http.S$NFuncHolder$$anonfun$apply$5.apply(S.scala:190) net.liftweb.http.S$NFuncHolder$$anonfun$apply$5.apply(S.scala:190) scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194) scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194) scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59) scala.collection.immutable.List.foreach(List.scala:45) scala.collection.TraversableLike$class.map(TraversableLike.scala:194) scala.collection.immutable.List.map(List.scala:45) net.liftweb.http.S$NFuncHolder.apply(S.scala:190) net.liftweb.http.S$ProxyFuncHolder.apply(S.scala:115) net.liftweb.http.LiftSession$$anonfun$buildFunc$1$2.apply(LiftSession.scala:651) net.liftweb.http.LiftSession$$anonfun$16$$anonfun$apply$39.apply(LiftSession.scala:667) net.liftweb.http.LiftSession$$anonfun$16$$anonfun$apply$39.apply(LiftSession.scala:667) scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194) scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194) scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59) scala.collection.immutable.List.foreach(List.scala:45) scala.collection.TraversableLike$class.map(TraversableLike.scala:194) scala.collection.immutable.List.map(List.scala:45) net.liftweb.http.LiftSession$$anonfun$16.apply(LiftSession.scala:667) net.liftweb.http.LiftSession$$anonfun$16.apply(LiftSession.scala:656) scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:200) scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:200) scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59) scala.collection.immutable.List.foreach(List.scala:45) scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:200) scala.collection.immutable.List.flatMap(List.scala:45) net.liftweb.http.LiftSession.runParams(LiftSession.scala:655) net.liftweb.http.LiftSession.processRequest(LiftSession.scala:1074) net.liftweb.http.LiftServlet.net$liftweb$http$LiftServlet$$dispatchStatefulRequest(LiftServlet.scala:414) net.liftweb.http.LiftServlet$$anonfun$doSession$1$1.apply(LiftServlet.scala:279) net.liftweb.http.LiftServlet$$anonfun$doSession$1$1.apply(LiftServlet.scala:279) net.liftweb.http.S$class.net$liftweb$http$S$$wrapQuery(S.scala:1376) net.liftweb.http.S$$anonfun$net$liftweb$http$S$$\u nest2InnerInit$1$$anonfun$apply$34.apply(S.scala:1524) net.liftweb.http.S$class.net$liftweb$http$S$$doAround(S.scala:1305) net.liftweb.http.S$$anonfun$net$liftweb$http$S$$doAround$1.apply(S.scala:1306) org.squeryl.dsl.QueryDsl$class.\u使用(QueryDsl.scala:46) org.squeryl.dsl.QueryDsl$class.\u executeTransactionWithin(QueryDsl.scala:105) org.squeryl.dsl.QueryDsl$class.inTransaction(QueryDsl.scala:91) net.liftweb.squerylrecord.RecordTypeMode$.inTransaction(RecordTypeMode.scala:34) bootstrap.liftweb.Boot$$anon$1.apply(Boot.scala:58) net.liftweb.http.S$class.net$liftweb$http$S$$doAround(S.scala:1306) net.liftweb.http.S$$anonfun$net$liftweb$http$S$\u nest2InnerInit$1.apply(S.scala:1522) net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) net.liftweb.http.S$class.net$liftweb$http$S$$\u nest2InnerInit(S.scala:1521) net.liftweb.http.S$$anonfun$net$liftweb$http$S$$\u innerInit$1$$anonfun$apply$38$$anonfun$apply$39$$anonfun$apply$40$$anonfun$apply$41.apply(S.scala:1561) net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) net.liftweb.http.S$$anonfun$withReq$1.apply(S.scala:1571) net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) net.liftweb.http.S$class.withReq(S.scala:1570) net.liftweb.http.S$.withReq(S.scala:48) net.liftweb.http.S$$anonfun$net$liftweb$http$S$$\u innerInit$1$$anonfun$apply$38$$anonfun$apply$39$$anonfun$apply$40.apply(S.scala:1560) net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) net.liftweb.http.S$$anonfun$net$liftweb$http$S$$\u innerInit$1$$anonfun$apply$38$$anonfun$apply$39.apply(S.scala:1559) net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) net.liftweb.http.S$$anonfun$net$liftweb$http$S$$\u innerInit$1$$anonfun$apply$38.apply(S.scala:1558) net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) net.liftweb.http.S$$anonfun$net$liftweb$http$S$\u innerInit$1.apply(S.scala:1557) net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) net.liftweb.http.S$class.net$liftweb$http$S$$\u innerInit(S.scala:1556) net.liftweb.http.S$$anonfun$net$liftweb$http$S$$$\u init$1$$anonfun$apply$44$$anonfun$apply$45$$anonfun$apply$46$$anonfun$apply$47$$anonfun$apply$48.apply(S.scala:1594) net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) net.liftweb.http.S$$anonfun$net$liftweb$http$S$$\u init$1$$anonfun$apply$44$$anonfun$apply$45$$anonfun$apply$46$$anonfun$apply$47.apply(S.scala:1592) net.liftweb.http.CoreRequestVarHandler$class.apply(Vars.scala:613) net.liftweb.http.RequestVarHandler$.apply(Vars.scala:515) net.liftweb
override def saveTheRecord() : Box[User] = {
    val u = User.createRecord.email(email.is).password(password.is).firstName(firstName.is).lastName(lastName.is).validated(validated.is).superUser(superUser.is)

    Full(PPSchema.users.insert(u))
  }