【问题标题】:com.impetus.kundera.query.QueryHandlerException: No entity found by the name: <EntityName>com.impetus.kundera.query.QueryHandlerException:找不到名称的实体:<EntityName>
【发布时间】:2015-12-17 05:28:16
【问题描述】:

当我通过 Intellij IDEA 15 中的 SBT 控制台运行我的应用程序时,当打开显示来自数据库的记录的列表页面时,我收到以下错误:

com.impetus.kundera.query.QueryHandlerException: No entity found by the name: Employee
at com.impetus.kundera.query.KunderaQuery.initEntityClass(KunderaQuery.java:608) ~[kundera-core-3.2.jar:na]
at com.impetus.kundera.query.KunderaQuery.postParsingInit(KunderaQuery.java:540) ~[kundera-core-3.2.jar:na]
at com.impetus.kundera.query.QueryResolver.getQueryImplementation(QueryResolver.java:86) ~[kundera-core-3.2.jar:na]
at com.impetus.kundera.persistence.PersistenceDelegator.getQueryInstance(PersistenceDelegator.java:560) ~[kundera-core-3.2.jar:na]
at com.impetus.kundera.persistence.PersistenceDelegator.createQuery(PersistenceDelegator.java:521) ~[kundera-core-3.2.jar:na]
[error] m.p.EmployeeProcessImpl$ - No entity found by the name: Employee

实体类如下:

package models.domains

import java.util.Date
import javax.persistence._
import java.util.UUID

@Entity
@Table(name = "employees", schema = "employeeexample@cassandra_employees")
class Employee {

  @Id
  var id: String = UUID.randomUUID.toString()

  @Column(name = "name")
  var name: String = "Employee"

  @Column(name = "address")
  var address: String = "Address"

  @Column(name = "dob")
  var dob: String = (new Date).toLocaleString()

  @Column(name = "joiningDate")
  var joiningDate: String = (new Date).toLocaleString()

  @Column(name = "designation")
  var designation: String = "Test"

}

case class EmployeeForm(id: String, name: String, address: String, dob: Date, joiningDate: Date, designation: String)

我的 persistence.xml 文件如下:

<persistence xmlns="http://java.sun.com/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
    https://raw.github.com/impetus-opensource/Kundera/Kundera-2.0.4/kundera-core/src/test/resources/META-INF/persistence_2_0.xsd"
    version="2.0">
    <persistence-unit name="cassandra_employees">
        <provider>com.impetus.kundera.KunderaPersistence</provider>
        <properties>
            <property name="kundera.nodes" value="localhost" />
            <property name="kundera.port" value="9160" />
            <property name="kundera.keyspace" value="employeeexample" />
            <property name="kundera.dialect" value="cassandra" />
            <property name="kundera.client.lookup.class" value="com.impetus.client.cassandra.thrift.ThriftClientFactory" />
            <property name="kundera.pool.size.max.active" value="50" />
            <property name="kundera.pool.size.max.total" value="50" />
        </properties>
    </persistence-unit>
</persistence>

我正在使用的示例取自: http://blog.knoldus.com/2014/06/22/playing-kundera-cassandra/

我的 build.sbt 如下:

name := """playing-kundera-cassandra-knoldus"""

version := "1.0-SNAPSHOT"

lazy val root = (project in file(".")).enablePlugins(PlayScala)

scalaVersion := "2.11.1"

libraryDependencies ++= Seq(anorm, cache, ws)

resolvers ++= Seq(
    "Kundera" at "https://oss.sonatype.org/content/repositories/releases",
    "Riptano" at "http://mvn.riptano.com/content/repositories/public",
    "Kundera missing" at "http://kundera.googlecode.com/svn/maven2/maven-missing-resources",
    "Scale 7" at "https://github.com/s7/mvnrepo/raw/master"
)

libraryDependencies ++= Seq(
  "org.webjars"             %%  "webjars-play"              % "2.3.0",
  "org.webjars"             %   "bootstrap"                 % "3.1.1-1",
  "org.webjars"             %   "bootswatch-united"         % "3.1.1",
  "org.webjars"             %   "html5shiv"                 % "3.7.0",
  "org.webjars"             %   "respond"                   % "1.4.2",
  "com.impetus.kundera.core"    %   "kundera-core"    %   "3.2",
  "com.impetus.kundera.client"      %   "kundera-cassandra"         %   "3.2"
)

我正在玩! 2.4.6 框架与 Cassandra 2.2.4。 请告诉我是否必须对 Cassandra 或 CQL 进行一些与版本相关的更改,以及在哪个文件中?请帮帮我!!!

【问题讨论】:

    标签: scala playframework-2.0 cql cassandra-2.0 kundera


    【解决方案1】:

    尝试通过 activator run 命令启动您的应用程序。

    另外,添加下面提到的属性以自动创建架构。

    <property name="kundera.ddl.auto.prepare" value="create" />
    

    阅读更多关于昆德拉的schema generation

    【讨论】:

    • 我浏览了互联网上的 datastax 站点,我创建了一个小的 java 填充,通过它在数据库中创建了一个 KEYSPACE。所以我确信我的 cassandra db 将通过 jars of datastax 连接。我想知道,如果我从我的项目中删除 Kundera 依赖项会好吗?或者我可以有一些解决方案,通过它我可以同时拥有 Kundera 和 datastax 驱动程序吗?因为最近 3 天以来我一直在使用昆德拉。
    猜你喜欢
    • 2013-06-06
    • 1970-01-01
    • 2011-03-21
    • 2012-03-02
    • 1970-01-01
    • 1970-01-01
    • 2012-07-20
    • 2011-10-29
    相关资源
    最近更新 更多