ORM
データベースを検索する
- find: 条件に一致したもののうち1つだけBoxで返す
- findAll: 条件に一致するものを全てListで返す
検索条件
- StartAt, MaxRows
- By
- OrderBy: Descending
Indexの設定
object tag extends MappedString(this, 100) { override def dbIndexed_? = true }
複合インデックスの設定
object SampleDB extends SampleDB with LongKeyedMetaMapper[SampleDB] {
override def dbIndexes = Index( id, name ) :: super.dbIndexes
}
Unique Indexの設定
LongKeyedMapperミックスインしたオブジェクト内で、
override def dbIndexes = UniqueIndex(field1, field2) :: super.dbIndexes
と記述する。
マッパーをJSONオブジェクトに変換する
MetaMapperのencodeAsJSON_!メソッドを利用して、
encodeAsJSONメソッドを作成する。
import net.liftweb._
import mapper._
import json.JsonAST._
class Sample extends LongKeyedMapper[Sample] {
def getSingleton = Sample
def primaryKeyField = id
object id extends MappedLongIndex(this)
def encodeAsJSON:JObject = ArbEvent.encodeAsJSON(this)
}
object Sample extends Sample with LongKeyedMetaMapper[Sample] {
def encodeAsJSON(in:Sample):JObject = encodeAsJSON_!(in)
}
使用例
val json = Sample.findAll.encodeAsJSON
最終更新:2012年02月01日 18:17