ORM

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