Jpa Ebean继承“无readMethod的抽象类”异常
我试着在游戏中使用Ebean的继承!框架2.1.0。继承策略是单表的,因为它是Ebean唯一支持的策略。我紧跟着美国的榜样 这段代码通过了编译,但我得到了Jpa Ebean继承“无readMethod的抽象类”异常,jpa,playframework-2.0,ebean,Jpa,Playframework 2.0,Ebean,我试着在游戏中使用Ebean的继承!框架2.1.0。继承策略是单表的,因为它是Ebean唯一支持的策略。我紧跟着美国的榜样 这段代码通过了编译,但我得到了 RuntimeException: Abstract class with no readMethod for models.Price.id com.avaje.ebeaninternal.server.deploy.ReflectGetter.create(ReflectGetter.java:33) com.avaje.ebeani
RuntimeException: Abstract class with no readMethod for models.Price.id
com.avaje.ebeaninternal.server.deploy.ReflectGetter.create(ReflectGetter.java:33)
com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.setBeanReflect(BeanDescriptorManager.java:1353)
com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.createByteCode(BeanDescriptorManager.java:1142)
com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.readDeployAssociations(BeanDescriptorManager.java:1058)
com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.readEntityDeploymentAssociations(BeanDescriptorManager.java:565)
com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.deploy(BeanDescriptorManager.java:252)
com.avaje.ebeaninternal.server.core.InternalConfiguration.<init>(InternalConfiguration.java:124)
com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:210)
com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:64)
com.avaje.ebean.EbeanServerFactory.create(EbeanServerFactory.java:59)
play.db.ebean.EbeanPlugin.onStart(EbeanPlugin.java:79)
Google search带来了ReflectGetter.java的源代码。那里的评论说
对于持有id属性的抽象类,我们有时需要使用反射来获取id值
这提供了BeanReflectGetter对象来实现这一点
若我从超类声明中删除抽象关键字,异常就会消失。我真的不想让超类具体化。为id字段添加getter/setter,它就会消失。为id字段添加getter/setter,它就会消失。我应该想到这一点。谢谢我应该想到的。谢谢
RuntimeException: Abstract class with no readMethod for models.Price.id
com.avaje.ebeaninternal.server.deploy.ReflectGetter.create(ReflectGetter.java:33)
com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.setBeanReflect(BeanDescriptorManager.java:1353)
com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.createByteCode(BeanDescriptorManager.java:1142)
com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.readDeployAssociations(BeanDescriptorManager.java:1058)
com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.readEntityDeploymentAssociations(BeanDescriptorManager.java:565)
com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.deploy(BeanDescriptorManager.java:252)
com.avaje.ebeaninternal.server.core.InternalConfiguration.<init>(InternalConfiguration.java:124)
com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:210)
com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:64)
com.avaje.ebean.EbeanServerFactory.create(EbeanServerFactory.java:59)
play.db.ebean.EbeanPlugin.onStart(EbeanPlugin.java:79)