J'ai la version 2.6.5 de la configuration de Play et multimodule (plusieurs sous-modules sbt). Je mis en place 2 différents datasources et ont erreur Ebean:Lecture 2.6 et les sources multi DB d'Ebean ne fonctionnent pas
Caused by: javax.persistence.PersistenceException: models.common.defaultStorage.PromoBlock is NOT an Entity Bean registered with this server?
at io.ebeaninternal.server.core.DefaultServer.createQuery(DefaultServer.java:1019)
at io.ebeaninternal.server.core.DefaultServer.find(DefaultServer.java:975)
at io.ebean.Finder.query(Finder.java:157)
at models.common.defaultStorage.PromoBlock.findByProjectId(PromoBlock.java:84)
Cela se produit seulement quand je mis en place 2 et sources de données des paramètres de classe appropriés mis en correspondance dans application.conf
.
Mon build.sbt
:
lazy val common = (project in file("modules/common")).enablePlugins(PlayJava, PlayEbean)
lazy val admin = (project in file("modules/admin")).enablePlugins(PlayJava, PlayEbean).dependsOn(common)
lazy val root = (project in file(".")).enablePlugins(PlayJava, PlayEbean).aggregate(common, admin).dependsOn(common, admin)
Mes entités ebean vivent dans le module common
. Je n'ai qu'un application.conf
dans le projet root
et 2 sources de données:
db {
default.driver = org.postgresql.Driver
default.url = "postgres://..."
mssql.driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
mssql.url = "jdbc:sqlserver://..."
}
ebean.default = ["models.common.defaultStorage.*"]
ebean.mssql = ["models.common.mssqlStorage.*"]
Je trouve que si je commente en deuxième option ebean.mssql
que tout est OK. Mais avec deux listes différentes de classes mappées, j'ai obtenu une exception.
J'ai essayé d'utiliser toutes les instructions des documents https://www.playframework.com/documentation/2.6.5/JavaEbean mais toujours pas de succès.
Mon plugins.sbt
:
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.6.5")
...
addSbtPlugin("com.typesafe.sbt" % "sbt-play-enhancer" % "1.1.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "4.0.3")
P.S. Je migre le projet de la version 2.4 (et précédemment 2.3) de Play où tout était OK.