2

私はJDK 1.6.0_16とScala 2.7.7を使用し、mavenでコンパイルしています。

実行するmvn clean compileと 4 つのエラーが発生しますが、異なるモデルでは同じです。

[エラー] C:\Users\owner\workspace\ResumeApp\src\main\scala\jblack\resumeapp\lift\ model\ContactInfoModel.scala:13: エラー: 不正な継承。

[情報] 自己型 jblack.resumeapp.lift.model.ContactInfoModel は net.liftweb.mapper.CRUDify[Long,jblack.resumeapp.lift.model.ContactInfoModel] の自己型 net.liftweb.mapper.CRUDify[ に準拠していませんLong,jblack.resumeapp.lift.model.ContactInfoModel] with jblack.resumeapp.lift.model.ContactInfoModel with net.liftweb.map per.KeyedMetaMapper[Long,jblack.resumeapp.lift.model.ContactInfoModel]

[INFO] with CRUDify[Long, ContactInfoModel] {

そして、これは私のコードです:

package jblack.resumeapp.lift.model

import net.liftweb.mapper._

object ContactInfoMetaData 
    extends ContactInfoModel 
        with KeyedMetaMapper[Long, ContactInfoModel] {
    override def dbTableName = "contactinfo"
    override def fieldOrder = List(key, data, display) 
}
class ContactInfoModel 
    extends KeyedMapper[Long, ContactInfoModel] 
        with CRUDify[Long, ContactInfoModel] {
    def getSingleton = ContactInfoMetaData
    def primaryKeyField = id

    object id extends MappedLongIndex(this)
    object key extends MappedString(this, 100)
    object data extends MappedString(this, 100)
    object display extends MappedBoolean(this)
}

何が間違っているのかわかりません。

残念ながら、ナイトリー プラグインを Eclipse にインストールしたため、IDE 2.7.7 をインストールできず、maven でしかコンパイルできません。

使用方法に問題はありCRUDifyますか?

4

2 に答える 2

2

Lift-1.1 の CRUDify は、Mapper クラスではなく MetaMapper オブジェクトに混在させる必要があります。したがって、代わりに次のコードで動作するはずです。

package jblack.resumeapp.lift.model

import net.liftweb.mapper._

object ContactInfoMetaData 
    extends ContactInfoModel 
        with KeyedMetaMapper[Long, ContactInfoModel]
        with CRUDify[Long, ContactInfoModel] {
    override def dbTableName = "contactinfo"
    override def fieldOrder = List(key, data, display) 
}
class ContactInfoModel 
    extends KeyedMapper[Long, ContactInfoModel] {
    def getSingleton = ContactInfoMetaData
    def primaryKeyField = id

    object id extends MappedLongIndex(this)
    object key extends MappedString(this, 100)
    object data extends MappedString(this, 100)
    object display extends MappedBoolean(this)
}
于 2009-12-11T19:36:56.980 に答える
0

1.1 の代わりに LIFT 1.0 の使用に戻ったとき、ようやく正常に動作するようになりました。最終的に 1.1 に向けて調査する必要がある変更があるようですが、少なくとも開発を続けることができます。

于 2009-12-04T02:08:01.057 に答える