gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 13:32:26 24 4
gpt4 key购买 nike

嘿伙计们,

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

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

如何为我的 Play Framework 项目及其子项目设置数据库?

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

    [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

我的[root]/build.sbt:

    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"

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

    db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:./db/default;DB_CLOSE_DELAY=-1"
db.default.username="sa"
db.default.password="..."

db.sub.driver=org.h2.Driver
db.sub.url="jdbc:h2:./db/sub;DB_CLOSE_DELAY=-1"
db.sub.username="sa"
db.sub.password="..."

ebean.default=["models.*"]
ebean.sub=["subproject.models.*"]

最佳答案

好吧,我自己想出来了。很简单,看Play Framework Documentation .

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

关于java - Play Framework 2.4.x - 带有数据库的子项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32038021/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com