玩!框架2.4.x - 强制创建ebean配置

时间:2015-12-10 15:56:08

标签: playframework ebean

我正在玩Play! project,版本2.4.x for Java。

我在名为User的文件夹Entity中创建了models。这是 User.php

的代码
package models;

import javax.persistence.Entity;
import javax.persistence.Id;

import com.avaje.ebean.Model;


@Entity
public class User extends Model{

    @Id
    public String Id;
    protected String name;
    protected String password;
    protected String email;

    /* -- getters and setters --*/
 }

这是 application.conf

的内容
db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:play"
db.default.username=sa
db.default.password=""
ebeans.default="models.*"

如您所见,这是一个非常标准的配置,我刚刚删除了与db选项相关的行,我使用ebeans作为ORM。

问题是Play不会生成evolutions文件。对于我已经研究过的其他项目,我已经看到,当我添加一个实体或者我在我创建的实体中修改一个字段时,框架理解我已经进行了编辑,因此生成了数据库并更新了配置

在我的项目中,文件夹conf / evolutions / default / x.sql不存在,所以我没有进化。因此,每当我尝试访问数据库表时,我都会得到一个空指针异常。

如果需要,可以使用 build.sbt 文件:

name := """WebInterface"""

version := "1.0-SNAPSHOT"

lazy val root = (project in file(".")).enablePlugins(PlayJava, PlayEbean)

scalaVersion := "2.11.6"

libraryDependencies ++= Seq(
  javaJdbc,
  cache,
  javaWs,
  evolutions
)

// Play provides two styles of routers, one expects its actions to be injected, the
// other, legacy style, accesses its actions statically.
routesGenerator := InjectedRoutesGenerator

有人能帮助我吗?我想知道是否存在一个shell命令来强制生成sql文件,或者我是否必须编辑一些配置文件来自动生成这些文件。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

SELECT * FROM your_table WHERE col LIKE REPLICATE('0', @number) + '%' 您已启用build.sbt插件。那是正确的。但您还必须将其添加到PlayEbean

所以 project / plugins.sbt 应包含以下行: project/plugins.sbt