问题一:ebean的实体类is not an enhanced entity bean
原因:ebean默认解析的是models包,我用的是model,所以出错
原因二:插件安装但没有开启插件,configure-->enable ebean enhancer
网上说明:Ensure application.conf has the ebean package configured for your datasource: ebean.default=["models.*"]
解决方法:
方法1.在mavan中安装插件
方法2.eclipse或者ide安装ebean的插件(参考地址:
http://ebean-orm.github.io/docs/getting-started/)
我使用的是sts,用插件安装的方式解决
插件安装地址:
http://ebean-orm.github.io/eclipse/update
可能会安装失败,现在发现该网址没有,下载ebean插件压缩包,解压到plugins目录下,下载地址
https://download.csdn.net/download/zhaofengdeng/10793228
步骤一:Help > Install new software
步骤二:Project > Enable Ebean enhancer
看日志:Window > Show view > Other > Error log
maven插件(网上的,只可参考)
<dependencies>
<dependency>
<groupId>org.avaje.ebeanorm</groupId>
<artifactId>avaje-ebeanorm-agent</artifactId>
<version>4.5.1</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.10</version>
<extensions>true</extensions>
<configuration>
<tiles>
<tile>org.avaje.tile:java-compile:1.1</tile>
<tile>io.ebean.tile:enhancement:5.6</tile>
</tiles>
</configuration>
</plugin>
</plugins>
</build>
问题二:ebean中的model封装成jar,扫描不出来
在ebean.properties中增加如下配置,ebean版本2.7.7测试通过
ebean.search.jars=myJarFile.jar
问题三:使用spring boot+ebean+热部署(记录没有解决问题待进一步调查)
ebean使用的是io.ebean
每次修改完代码,springboot自动重启热部署,ebean调用时会出现ClassCastException异常
ClassCastException是ebean的类跟项目的类不一样了
原因:springboot会重新编译你的claas文件,重启后的class跟重启前就不是一个class了,ebean使用缓存了,ebean的相关服务没有重启,缓存的是重启前的class
解决方法
resources下建立META-INF文件夹,建立spring-devtools.properties文件,如果有无需新建
加入,让spring的热部署机制加入ebean,让ebean也每次重启
restart.exclude.companycommonlibs=/ebean-[\w-]+.jar
restart.include.projectcommon=/ebean-[\w-]+.jar
问题四:使用io.ebean如何识别jar包中的类
ebean作者回复:
There is no ebean.search.jars property any more.
Instead have a ebean.mf manifest file with the package(s) that contain entity classes or register the entity beans via serverConfig.addClass()
Ideally you upgrade Ebean to 12.1.x as well.
https://ebean.io/docs/introduction/manifest
第一步:pom导入
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-agent</artifactId>
<version>12.1.1</version>
</dependency>
第二步:
resources下增加ebean.mf文件
profile-location: true
entity-packages: com.util
transactional-packages: com.util
querybean-packages: com.util
第三步:配置