Created
March 26, 2012 13:48
-
-
Save lshoo/2205144 to your computer and use it in GitHub Desktop.
lift-mongo-record出错
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.lshoo.model | |
import net.liftweb._ | |
import record.field._ | |
import mongodb.record.{MongoRecord, MongoMetaRecord, MongoId} | |
import mongodb.{JsonObject, JsonObjectMeta} | |
import mongodb.record.field._ | |
object BookMongo extends BookMongo with MongoMetaRecord[BookMongo] | |
class BookMongo private extends MongoRecord[BookMongo] with MongoId[BookMongo]{ | |
def meta = BookMongo | |
object title extends StringField(this, "") | |
object publisherInYear extends IntField(this, 1990) | |
object publisher extends JsonObjectField[BookMongo, PublisherMongo](this, PublisherMongo) { | |
def defaultValue = PublisherMongo("", "") | |
} | |
object authors extends MongoJsonObjectListField[BookMongo, AuthorMongo](this, AuthorMongo) | |
} | |
case class PublisherMongo(name: String, description: String) | |
extends JsonObject[PublisherMongo] { | |
def meta = PublisherMongo | |
} | |
object PublisherMongo extends JsonObjectMeta[PublisherMongo] | |
case class AuthorMongo (firstName: String, | |
lastName: String) extends JsonObject[AuthorMongo] { | |
def meta = AuthorMongo | |
} | |
object AuthorMongo extends JsonObjectMeta[AuthorMongo] | |
scala> BookMongo.createRecord.title("sample").authors(AuthorMongo(List(AuthorMon | |
go("tim", "perrett")))).publisher(PublisherMongo("Manning","")).save | |
执行时出错: | |
<console>:11: error: not enough arguments for method apply: (firstName: String, | |
lastName: String)com.lshoo.model.AuthorMongo in object AuthorMongo. | |
Unspecified value parameter lastName. | |
BookMongo.createRecord.title("sample").authors(AuthorMongo(List(AuthorMongo("tim", "perrett")))).publisher(PublisherMongo("Manning","")).save | |
^ | |
是何原因? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
经验证,修改后应该是:
scala> BookMongo.createRecord.title("sample").authors(List(AuthorMongo("tim", "p
errett"))).publisher(PublisherMongo("Manning","")).save
JRebel: Reloading class 'com.lshoo.model.BookMongo$'.
JRebel: Reloading class 'com.lshoo.model.BookMongo'.
JRebel: Reloading class 'com.lshoo.model.BookMongo$authors$'.
JRebel: Reloading class 'com.lshoo.model.AuthorMongo$'.
JRebel: Reloading class 'com.lshoo.model.AuthorMongo'.
JRebel: Reloading class 'com.lshoo.model.BookMongo$publisher$'.
JRebel: Reloading class 'com.lshoo.model.PublisherMongo$'.
JRebel: Reloading class 'com.lshoo.model.PublisherMongo'.
JRebel: Reloading class 'com.lshoo.model.BookMongo$title$'.
JRebel: Reloading class 'com.lshoo.model.BookMongo$publisherInYear$'.
res14: com.lshoo.model.BookMongo = class com.lshoo.model.BookMongo={_id=4f7078c2
694679051cc69146, authors=List(AuthorMongo(tim,perrett)), publisher=PublisherMon
go(Manning,), title=sample, publisherInYear=1990}