Mysql EBean:java.lang.IllegalStateException:Bean类模型。用户是否未增强?

Mysql EBean:java.lang.IllegalStateException:Bean类模型。用户是否未增强?,mysql,playframework,playframework-2.0,ebean,Mysql,Playframework,Playframework 2.0,Ebean,我有一个Play 2.4.6应用程序,在两天前还可以正常工作。从昨天开始,我就犯了这个错误: [[37minfo] - application - Creating Pool for datasource 'default' [[31merror] - com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager - Error in deployment java.lang.IllegalStateException: Bean cla

我有一个Play 2.4.6应用程序,在两天前还可以正常工作。从昨天开始,我就犯了这个错误:

[[37minfo] - application - Creating Pool for datasource 'default'
[[31merror] - com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager - Error in deployment
java.lang.IllegalStateException: Bean class models.User is not enhanced?
    at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.setEntityBeanClass(BeanDescriptorManager.java:1405) ~[avaje-ebeanorm-6.8.1.jar:na]
我已经在寻找解决方案,但我仍然会犯这个错误。甚至,我也尝试过使用插件2.0

addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "2.0.0") 
我怎样才能修好它

提前谢谢大家,

更新:最后,我重写了代码,删除了EBean,并开始使用Play框架的数据库池和JDBC的
PreparedStatement
。很好。我将把这个问题留在这里,希望它能帮助其他人。

检查以下内容:

  • 确保在用户类上指定@Entity注释
  • 确保application.conf为您的数据源配置了ebean包:
    ebean.default=[“models.*”]
  • 确保plugin.sbt文件中有
    addSbtPlugin(“com.typesafe.sbt“%”sbt播放增强程序“%”1.1.0”)
  • 确保在build.sbt:
    lazy val root=(文件中的项目(“.”)中启用了PlayEbean。enablePlugins(PlayJava,PlayEbean)

  • 如果你想和Eben再试试,这对我来说很有帮助


    如果您
    尝试了所有给定的解决方案
    无法解决问题,请检查项目的JDK版本


    Java11有一些问题尝试Java8或更低版本。

    根据您使用的playframework版本,您可能需要更改

    ebean.default= ["models.*", "another.models.*"]
    

    您可以在此处找到更多详细信息:

    除此之外,还需要为需要eBean增强器的每个模块配置playEbeanModels。例如:

        lazy val domainModel = (project in file("domain-model")).enablePlugins(PlayJava, PlayEbean).settings(Seq(
          libraryDependencies ++= Seq(
            "org.projectlombok" % "lombok" % "1.18.4",
            "com.h2database" % "h2" % "1.4.197",
            guice),
          playEbeanModels in Compile := Seq("com.mycompany.model.*"), // this should match the package name from above ebean.default="com.mycompany.model.*
          playEbeanDebugLevel := 4
    )
    
    这里也可以找到一些解释:

    我会为其他人放弃这个,而这些人都不适合

    在我的
    application.conf
    文件中,我有以下内容

    ebean.default=["models.*"] 
    
    ebean.secondary=["ExternalModels.*"] 
    
    而且我也开始出名了

    Bean类外部模型。用户是否未增强?错误

    为了解决这个问题,我所做的只是将ExternalModels包移动到一个新包中,并将其命名为ebean.secondary.ExternalModels


    错误消失了

    我检查了所有这些。谢谢你,你用的是什么版本的剧本?还有什么变化可能是一致的吗?Play 2.4.6,Scala 2.11.6,Sbt 0.13.9,PlayEBean 1.0.0。我也用PlayEBean 2.0.0进行了测试…您可以查看最新的sbt play enhancer版本。当我按照此视频说明使用插件
    Ebean 4x增强功能时,它解决了我的问题,谢谢!这是我的问题。我试图让一个旧项目运行在一个新的m1mac上,使用java15。正如在Play Enhancer上所指出的,它不适用于JDK 11+。我让它在一台使用Java8的旧机器上工作。
    
    ebean.default=["models.*"] 
    
    ebean.secondary=["ExternalModels.*"]