没有为查询类找到持久化类:FROM class models.AModel $(hibernate 4 scala和play framework)

时间:2014-03-01 09:31:10

标签: hibernate scala playframework-2.0 persistence hibernate-mapping

我正在使用play框架(scala)和hibernate 4(orm)。

我创建了一些模型..这里是我的示例模型:

@Entity
@Table(name="aModel")  
class AModel {  

  @Id
  @GeneratedValue
  var id:Long = 0

  @OneToOne
  var contact:Contact = null

}

我的DAO与我的AModel类在同一个文件中:

object AModel extends GenericDao(classOf[AModel]){
    def getAllModels():List[AModel] = {
      tx.begin
      val query = entityManager.createQuery("FROM " + classOf[AModel].getName)
      val result = query.getResultList.asInstanceOf[List[AModel]]
      tx.commit
      return result
    }
}

在我的persistence.xml中,我按如下方式映射AModel类:

<persistence-unit name="HibernateService">
    <description>
        Persistence unit
    </description>
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <class>models.AModel</class>
    <properties>
      <!-- all properties -->
    </properties>
</persistence-unit>

仍然可以找到任何合适的映射。我做错了什么?

这里输出:

no persistent classes found for query class: FROM models.AModel$

我希望有人能够帮助我。提前谢谢..

1 个答案:

答案 0 :(得分:0)

我发现了这个具体问题的错误。我在查询中使用了对象(DAO)类名。解决方案是切换到AModel类! (不是对象AModel)

不,我有另一个问题..

我收到一个hibernate.QueryException:无法解析属性:type of:models.AModel

有没有人知道这个确切的错误消息?