2009-12-02 76 views
2

我正在使用JDK 1.6.0_16和Scala 2.7.7编译maven。非法继承编译错误使用Scala 2.7.7和LIFT 1.1-SNAPSHOT

我做mvn clean compile,我得到四个错误,但它们是相同的,不同的型号:

[ERROR] C:\Users\owner\workspace\ResumeApp\src\main\scala\jblack\resumeapp\lift\ model\ContactInfoModel.scala:13: error: illegal inheritance;

[INFO] self-type jblack.resumeapp.lift.model.ContactInfoModel does not conform to net.liftweb.mapper.CRUDify[Long,jblack.resumeapp.lift.model.ContactInfoModel] 's selftype net.liftweb.mapper.CRUDify[Long,jblack.resumeapp.lift.model.ContactI nfoModel] 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有问题吗?

回答

2

lift-1.1中的CRUDify需要混合到MetaMapper对象中而不是Mapper类中。所以它应该与此代码一起使用:

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) 
} 
+0

谢谢。自从我开始转向使用JPA以来,我会看到我有什么问题。 :)并使用LIFT 1.1。 – 2009-12-12 04:39:34

0

当我回到使用LIFT 1.0而不是1.1时,我终于正常工作。看起来我最终需要对1.1进行一些修改,但至少我可以继续我的开发。