database.models.Employee 不是在该服务器上注册的实体 Bean?
database.models.Employee is NOT an Entity Bean registered with this server?
我正在尝试将 Play Framework 与 h2 数据库结合使用,使用 Ebeans 来创建一个简单的员工管理网站,但我似乎无法让它正常工作。我遇到的错误是:
Error injecting constructor, javax.persistence.PersistenceException: database.models.Employee is NOT an Entity Bean registered with this server?
因此,根据 Ebeans 的说法,显而易见的结论是 Employee class 不是一个实体。我大部分时间都遵循了文档,并且 Employee class 完全按照它显示的那样构建。
package database.models;
import java.util.*;
import javax.persistence.*;
import io.ebean.*;
import play.data.format.*;
import play.data.validation.*;
@Entity
@Table(name = "Employees")
public class Employee extends Model {
@Transient
public static final Finder<Long, Employee> find = new Finder<>(Employee.class);
@Id
long emp_id;
@Constraints.Required
String name;
public Employee() {
}
App.conf
db {
default.driver=org.h2.Driver
default.url="jdbc:h2:file:./data/employeeDB.mv.db.mv.db"
default.username = admin
default.password = pass
}
ebean.default=["models.*"]
和build.sbt
lazy val root = (project in file(".")).enablePlugins(PlayJava, PlayEbean)
scalaVersion := "2.12.2"
PlayKeys.externalizeResources := false
libraryDependencies += guice
libraryDependencies += "com.h2database" % "h2" % "1.4.192"
libraryDependencies ++= Seq(evolutions, jdbc)
我正在使用 IntelliJ,并且我几乎使用了所有工具来确认 class 工作正常。它作为实体出现在持久性工具 Window 中,我已将数据源设置为我建立的 H2 数据库连接。至于H2数据库连接上的属性:
路径:./data/employeeDB/mv.db.mv.db
URL: jdbc:h2:file:./data/employeeDB.mv.db.mv.db
这两个好像都不在乎,用户名和密码都对。我可以使用这个连接到 运行 SQL 就好了,但是一旦真正持久化就会出现错误,所以我认为这不是连接的原因。
您的模型 "Employee" 似乎在一个名为 database.models;
的包中
能否尝试将 ebean.default
设置更改为 ["database.models.*"]
我正在尝试将 Play Framework 与 h2 数据库结合使用,使用 Ebeans 来创建一个简单的员工管理网站,但我似乎无法让它正常工作。我遇到的错误是:
Error injecting constructor, javax.persistence.PersistenceException: database.models.Employee is NOT an Entity Bean registered with this server?
因此,根据 Ebeans 的说法,显而易见的结论是 Employee class 不是一个实体。我大部分时间都遵循了文档,并且 Employee class 完全按照它显示的那样构建。
package database.models;
import java.util.*;
import javax.persistence.*;
import io.ebean.*;
import play.data.format.*;
import play.data.validation.*;
@Entity
@Table(name = "Employees")
public class Employee extends Model {
@Transient
public static final Finder<Long, Employee> find = new Finder<>(Employee.class);
@Id
long emp_id;
@Constraints.Required
String name;
public Employee() {
}
App.conf
db {
default.driver=org.h2.Driver
default.url="jdbc:h2:file:./data/employeeDB.mv.db.mv.db"
default.username = admin
default.password = pass
}
ebean.default=["models.*"]
和build.sbt
lazy val root = (project in file(".")).enablePlugins(PlayJava, PlayEbean)
scalaVersion := "2.12.2"
PlayKeys.externalizeResources := false
libraryDependencies += guice
libraryDependencies += "com.h2database" % "h2" % "1.4.192"
libraryDependencies ++= Seq(evolutions, jdbc)
我正在使用 IntelliJ,并且我几乎使用了所有工具来确认 class 工作正常。它作为实体出现在持久性工具 Window 中,我已将数据源设置为我建立的 H2 数据库连接。至于H2数据库连接上的属性:
路径:./data/employeeDB/mv.db.mv.db
URL: jdbc:h2:file:./data/employeeDB.mv.db.mv.db
这两个好像都不在乎,用户名和密码都对。我可以使用这个连接到 运行 SQL 就好了,但是一旦真正持久化就会出现错误,所以我认为这不是连接的原因。
您的模型 "Employee" 似乎在一个名为 database.models;
能否尝试将 ebean.default
设置更改为 ["database.models.*"]