Play Framework 2.4.x - 带有数据库的子项目

时间:2015-08-16 17:33:09

标签: java playframework subproject

嘿伙计们,

我希望你能真正帮助我使用Play Framework 2.4.x中的子项目。我正在开发一个子项目的Play项目(我称之为root)。两者都有ebean模型,我想将这些模型保存在不同的数据库中。我尝试过很多可能但我无法解决这个问题。

  1. 在[root] /conf/application.conf中定义数据库和Ebean配置,在[root] /modules/sub/conf/application.conf中定义另一个(具有不同的数据库名称)。然后我得到一个错误“CreationException:无法创建注入器,请看以下错误:1)注入构造函数时出错,java.lang.IllegalStateException:Bean类models.RootModel没有增强?”
  2. 在root的配置中定义一个数据库和Ebean配置,在子项目的配置中定义一个具有相同数据库名称的数据库和Ebean配置。然后我收到错误“PersistenceException:subproject.models.SubModel不是在这个服务器上注册的实体Bean吗?”
  3. 在根项目中定义数据库和Ebean配置,并在其配置中定义子项目的数据库,与1中的错误相同。
  4. 我的子项目中没有配置,错误:“CreationException:无法创建注入器,请参阅以下错误:1)注入构造函数时出错,java.lang.IllegalStateException:Bean类subproject.models.SubModel未增强? “
  5. 如何为Play Framework项目及其子项目设置数据库?

    我的文件位于以下文件夹中:

    [
        {
            "post_id":1,
            "group_id":1,
            "author_id":1,
            "text":"Some text here.",
            "created_at":"2015-08-13 00:15:08",
            "updated_at":"2015-08-13 00:15:08",
            "likes":{
                "1": {"post_id":1,"user_id":1,"updated_at":"2015-08-14 03:05:48"}
            }
        }
    ]
    

    我的[root] /build.sbt:

        [root]/build.sbt
        [root]/conf/application.conf
        [root]/app/models/RootModel.java
        [root]/modules/sub/conf/application.conf
        [root]/modules/sub/conf/app/models/subproject/models/SubModel.java
    

    在application.conf中定义数据库和ebean配置:

        import com.typesafe.play.sbt.enhancer.PlayEnhancer
    
        name := """rootproject"""
    
        version := "1.0"
    
        lazy val root = (project in file("."))
            .enablePlugins(PlayJava, PlayEbean, PlayEnhancer)
            .aggregate(sub)
            .dependsOn(sub) 
            .settings(
                TwirlKeys.templateImports += "subproject.models._"
             )
    
         lazy val sub = project.in(file("modules/sub"))
            .enablePlugins(PlayJava, PlayEbean, PlayEnhancer)
    
         scalaVersion := "2.11.6"
    

1 个答案:

答案 0 :(得分:0)

好的,我自己弄清楚了。这很简单,请查看Play Framework Documentation

如果您遇到类似PersistenceException的问题:sub.model.SubModel不是在此服务器上注册的实体Bean吗?',请查看Multiple Databases with Play Framework 2.1.x