ebean常用问题

问题一: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

第三步:配置

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值