Scala 保存时记录它';原因java.util.prefs.BackingStoreException:原始记录不';我不能自救
User.scalaScala 保存时记录它';原因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
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> </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))
}