我正在开发Grails项目,Grails版本:2.2.0。 我有这些课程:
public abstract class A {}
public class B extends A {}
public class C extends A {}
现在,一切都很好 A级在:src / groovy所以在DB中我有两个表B& C。 现在我添加一个新类:
public class D{
A aa
}
现在不再有效了,因为hibernate不认识A型。 一种解决方案是省略抽象术语,但允许实例化A对象,这是不对的! 有没有人知道如何解决这个问题? 谢谢
答案 0 :(得分:0)
问题在于:GORM / Hibernate 必须能够实例化域类属性(当然,除了瞬态之外)。因此,属性不能是抽象类型。接口因同样的原因不起作用。
为了保持继承,不幸的是,您必须这样做不太正确的事情:删除抽象并使function launchAction($sizeData, $campaignId)
{
return $this->render(
'UserBundle:Test:test.html.twig',
array('campaignId' => $campaign->getId())
);
}
成为域类。