Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jpa Ebean继承“无readMethod的抽象类”异常_Jpa_Playframework 2.0_Ebean - Fatal编程技术网

Jpa Ebean继承“无readMethod的抽象类”异常

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

我试着在游戏中使用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.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)